explaingit

doriandarko/texts-to-transformer

Analysis updated 2026-05-18

426PythonAudience · developerComplexity · 4/5Setup · moderate

TLDR

A Mac only tool that trains a tiny, from-scratch language model on your iMessage history to suggest replies in your personal texting style.

Mindmap

mindmap
  root((TextsToTransformer))
    What it does
      Trains tiny transformer
      Learns personal texting style
      Suggests local replies
    Tech stack
      Python
      MLX
      SQLite
    Use cases
      Personal style model
      Local reply suggestions
      ML learning project
    Audience
      Apple Silicon Mac users
      ML hobbyists
    Privacy
      Read only database access
      Pseudonymized data
      Nothing uploaded

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Train a small personal language model that mimics your own texting style, entirely offline.

USE CASE 2

Learn how a transformer language model pipeline works end to end, from raw data to chat interface.

USE CASE 3

Get locally generated reply suggestions for incoming iMessages without sending anything.

USE CASE 4

Study privacy-preserving data handling techniques like pseudonymization and redaction.

What is it built with?

PythonMLXSQLiteuv

How does it compare?

doriandarko/texts-to-transformerchroma-core/context-1-data-gengordensun/gordenpptskill
Stars426422422
LanguagePythonPythonPython
Setup difficultymoderatehardmoderate
Complexity4/54/53/5
Audiencedeveloperresearcherdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires an Apple Silicon Mac, macOS 14+, MLX, and granting Full Disk Access to read the Messages database.

In plain English

Texts to Transformer is a project that lets a Mac user train a very small language model from scratch using their own iMessage history, with everything running locally on the machine and nothing uploaded anywhere. A transformer is the type of neural network architecture behind most modern chat AI, and this project builds one entirely from an untrained starting point rather than starting from an existing pretrained model. The goal is not a generally capable assistant that can answer questions or reason, but a small model that picks up the owner's own phrasing, rhythm, slang, and typical responses well enough to suggest replies in their personal texting style. The README places heavy emphasis on privacy and safety throughout the pipeline. The Messages database on the Mac is only ever opened in read only mode, and all processing happens on a private backup copy rather than the live database. Names and chat identifiers are replaced with scrambled pseudonyms before anything is written to a file, and things like URLs, email addresses, and phone numbers are automatically redacted. Nothing in the pipeline sends a message or uploads data anywhere, and the finished datasets and trained models are deliberately excluded from being committed to Git. The full pipeline covers roughly nine steps: safely copying the Messages database, extracting and cleaning the text, building a custom tokenizer that turns text into model readable pieces, training a small transformer model from random initialization using Apple's MLX machine learning framework, evaluating it on messages it never saw during training, and finally exporting a local model you can chat with in the terminal to get suggested replies. The default configuration builds a model with under one and a half million parameters, though a larger preset exists for people with very large message histories. This project only works on an Apple Silicon Mac running a recent version of macOS, requires the Full Disk Access permission to read the Messages database, and depends on Apple's MLX library rather than more common tools like PyTorch. The README is explicit that the resulting model can memorize private text and must be kept private rather than shared or uploaded.

Copy-paste prompts

Prompt 1
Walk me through running the doctor command to check my Mac is set up correctly for this project.
Prompt 2
Explain each of the nine pipeline steps from snapshot to exported model in this project.
Prompt 3
Help me grant Full Disk Access so I can safely snapshot my Messages database for this tool.
Prompt 4
What is the difference between the 1.38M and 6.16M parameter presets in this project?

Frequently asked questions

What is texts-to-transformer?

A Mac only tool that trains a tiny, from-scratch language model on your iMessage history to suggest replies in your personal texting style.

What language is texts-to-transformer written in?

Mainly Python. The stack also includes Python, MLX, SQLite.

How hard is texts-to-transformer to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is texts-to-transformer for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.