Voxly AI Keyboard
A keyboard you can talk to. Hold the mic, say what you mean, and Voxly types it into whatever app you are already in — in whichever of 22 languages you chose. Twelve of those get a full keyboard in their own script. Built end to end by one developer and published on Google Play as a commercial product with in-app purchases.
The problem
Typing is the slowest part of mobile messaging, and it gets slower the moment more than one language is involved. Voice assistants exist, but none of them live where messaging actually happens: inside the keyboard. Voxly was built to close that gap — a keyboard where speech is a first-class input, in any app, in any conversation, and where the languages people actually write in are treated as well as English is.
What it does
- Speak one language, send another — say it in Malayalam and send it in Danish, or Hindi in and English out. The user picks the output language once; Voxly writes it straight into the focused field, with no copying and no app switching.
- Twelve keyboards in their own script — Malayalam, Tamil, Hindi, Marathi, Nepali, Bengali, Punjabi, Gujarati, Telugu, Kannada, Arabic and Urdu, each with every letter on the board in alphabet order. Danish, Norwegian, Swedish, German and French get their real layouts rather than a long-press menu.
- A check before you send — when the output is a language the user cannot read, Voxly shows them what it says in English first.
- A full keyboard, not a voice add-on — swipe typing, suggestions that learn the words a person actually uses, transliteration from Latin letters into script, emoji, GIF search, themes with a live preview, and TalkBack accessibility throughout.
- Typing is free — every keyboard, swipe, emoji and GIF costs nothing. Only a voice message spends a credit.
My role
Sole developer. Android client, backend service, the self-managed infrastructure it runs on, the billing and entitlement flow, the Play Console listing, the privacy policy and the release process — including the product site at voxlykeys.com. The work spans mobile engineering, backend and infrastructure, applied AI, and the compliance side of actually shipping a paid consumer app.
What made it hard
- A keyboard is not allowed to fail — it can never crash, never block the UI thread and never lose the input connection, because a broken keyboard leaves the user with no way to type at all. Every audio and network path is asynchronous, and every failure degrades to a working keyboard rather than a dead one.
- Building a keyboard, not skinning one — Android's keyboard framework has been deprecated for years, so rendering, the touch pipeline, key previews, long-press behaviour and accessibility were all written from scratch. Each non-Latin script then brings its own rules for how letters combine, which no generic layout engine handles for you.
- Never charging for nothing — voice costs money per request, so the product has to tell a real utterance from an empty one before it spends anything, on the device and again on the server. A request that produces no text is never billed to the user.
- Money that cannot be faked — the app never grants its own credits. Balances are held and decided server-side, and every purchase is verified with Google before it is honoured, so a replayed or retried purchase cannot be turned into free credit.
- Shipping change without shipping a release — language support is driven by server-side configuration rather than baked into the binary, so a new language reaches existing installs without anyone updating the app, and older versions keep working unchanged.
- Privacy as a product constraint — voice recordings are deleted as soon as the text is ready and are never stored, and the text Voxly produces is never logged. That is a design constraint that rules certain implementations out, not a line in a policy document.
How it is put together
A Kotlin Android client built on a custom InputMethodService, with Jetpack Compose for the surrounding app, talking to a Python service that runs in Docker on infrastructure I manage. Authentication and user state are handled through Firebase; usage is metered server-side; credit packs are sold through Google Play Billing and verified against Google's servers. The speech and language work runs behind that backend rather than on the device, which keeps the model layer replaceable and keeps the keyboard itself fast.
Voxly is a live commercial product, so this page stops at that level. The implementation specifics — the model and prompt design, the anti-abuse and entitlement layers, and the transliteration, prediction and swipe-decoding engines — are not published. I am glad to go into depth on any of it in conversation.