Texter: A Better SMS App for Android
Texting is the most personal thing a phone does. Every conversation in it carries a different weight, and the stock messenger flattens all of them into the same bubble.
It is also the app I use most and the one I had the least say in. Its look, its rules, and its habits belonged to someone else. Fine was the ceiling.
So I made my own. Texter is an Android SMS app with no telemetry and no ads, themed to the phone it runs on. I designed it and directed AI to build it native, from the theme system down to an encrypted database with full-text search across every message.
Designed by me, built by directing AI: the Kotlin is AI-written under my direction.
Why it exists
The first decision was that a thread with one person should not have to look like a thread with everyone else. So chats get their own wallpapers, contacts get their own sounds, and the app bends to the people in it.
The second decision was that nothing leaves the phone. No telemetry, no ads. Messages live in an encrypted database on the device, and the search index is built there too, so search is instant and stays on the phone.
What it does
A full replacement
It steps in as the phone’s default messaging app and covers the whole surface: SMS, MMS, group threads, photos, video, voice messages, delivery status. Plus the small things I wanted: scheduled messages, quoted replies, reactions, editing a sent message, and a copy chip when a login code arrives.
Blocking by phrase, not just number
Spam rotates its numbers, so blocking one is a losing game. Block the phrase instead, by exact match, by contains, or by pattern. A blocked conversation is set aside, not destroyed.
Nothing lost by accident
Biometric app lock, an encrypted database, disappearing messages, and a trash that holds a deleted conversation for thirty days before it is really gone.
How it works
Android hands incoming messages only to the phone’s default SMS app, so Texter has to earn that job first. The welcome flow asks for each permission with a one-line reason, takes over as the default, imports the conversations already on the phone, and ends on a theme picker. Day one is not an empty screen.
After that, every message lives in Texter’s own encrypted store, with the search index written as messages arrive. Personalization sits on that same store, so a chat’s wallpaper and theme ride with the conversation. A scheduled send goes to the system’s background scheduler and is re-queued after a reboot, so a message set for Friday survives whatever happens before Friday.
Where it is headed
None of that changes the first decision. The app fits the people in it, not the other way around.