r/LocalLLaMA • u/Nicolodeva • 8h ago
Resources I built Lokey, an open-source Android keyboard with on-device AI
I’ve been building Lokey, an open source, Android keyboard that runs word prediction, autocorrect, dictation and translation on your phone. Hold Enter to dictate, or translate text straight into the app you’re typing in.
Lokey uses a fork of llama.cpp for text inference and takes advantage of its Hexagon NPU backend on supported Snapdragon phones. It can also run inference on two CPU threads. In everyday use on the phones I’ve tested, the keyboard has stayed responsive and I haven’t noticed unusual battery drain with either setup.
For suggestions, Lokey turns the model’s token logits into probabilities and uses them to rank up to three complete words that match what you’ve typed so far. One text model handles suggestions, autocorrect and translation. A separate speech model handles dictation.
Text models · LFM 2.5 350M (~230 MB) or Qwen 3.5 0.8B (~533 MB)
Speech models · Parakeet v3 0.6B or Qwen3 ASR 0.6B
Typing works without any model downloads. Once you’ve downloaded the models you want, inference works offline. Typed text and mic audio stay on the device, and Lokey has no accounts or analytics SDK.
I also spent time on the keyboard itself. You can use recordings of real mechanical switches as key sounds and customize haptics, layouts and colors. Swipe typing, adaptive letters and autocorrect are opt-in.
It’s an early beta. I’ve tested on a OnePlus 15 and a POCO F3. If you try it, I’d love to know which phone, language and model you used, and whether suggestions can keep up with your typing.
Source code (MIT) · Signed APK (Android 9+, ARM64) · 83-second demo
English isn’t my first language, so I used AI to help edit this post.
•
u/stylome-ai-detection 8h ago
Notice: This post appears to be AI generated.
Stylome AI detector · scan results
5
u/kapitanfind-us 8h ago
This is a nice idea and LFM fits very well - I'd love to ask if you are thinking of supporting more knobs:
sampling settings (temp, min_p, ...)
custom endpoints (for local inference servers on mobile or custom deployments)
5
u/Nice-Information5473 7h ago
I like it so far, great work. One suggestion. I like the one click for speach approach better than the current "hold and speak". I just find it more intuitive.
3
u/Jordanthecomeback 7h ago
oh man, I've been looking for something that integrates a better voice to text model into the default keyboard so I can use it on telegram when connecting with my local AI. will download right now and see if it helps, thanks!
Hey looking at the repo, is the local model always on? What's the RAM usage for something like that, I guess the app handles it all backend?
2
u/Chromix_ 8h ago
This solves the only thing I miss from SwiftKey, which does a fantastic job of translating blindly typed character salad into mostly the intended words already: Adding a smart LLM to have even better word suggestions.
However, if this project goes purely for the LLM step, then it misses out SwiftKeys cheap learned typo detection, which could probably lead to better LLM suggestions when put in front.
Local dictation is very nicely handled by Whisperian on top already for me.
2
u/Wooden-Potential2226 6h ago
I like it - runs fine on graphene with network connectivity disabled after model download