Analysis updated 2026-05-18
Train a small personal language model that mimics your own texting style, entirely offline.
Learn how a transformer language model pipeline works end to end, from raw data to chat interface.
Get locally generated reply suggestions for incoming iMessages without sending anything.
Study privacy-preserving data handling techniques like pseudonymization and redaction.
| doriandarko/texts-to-transformer | chroma-core/context-1-data-gen | gordensun/gordenpptskill | |
|---|---|---|---|
| Stars | 426 | 422 | 422 |
| Language | Python | Python | Python |
| Setup difficulty | moderate | hard | moderate |
| Complexity | 4/5 | 4/5 | 3/5 |
| Audience | developer | researcher | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires an Apple Silicon Mac, macOS 14+, MLX, and granting Full Disk Access to read the Messages database.
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.
A Mac only tool that trains a tiny, from-scratch language model on your iMessage history to suggest replies in your personal texting style.
Mainly Python. The stack also includes Python, MLX, SQLite.
Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.