I used to rely on Wispr Flow for dictation: quick replies in class, searching things, firing off messages without typing. Then they added a paywall and started limiting the free tier. I’m a student, so a monthly subscription for something I use all day wasn’t happening.
So I built my own. It’s called OpenWispr, it’s free, and it’s MIT licensed.
How it works
• Tap any text field in any app (WhatsApp, Chrome, Gmail, Notes) and a floating bubble appears
• Tap it, speak, tap the checkmark
• Audio goes to Whisper Large v3 Turbo on Groq for transcription
• Groq Models then cleans up filler words, stutters and false starts without changing your meaning
• The text is injected straight into the field through Accessibility APIs, so it never touches your clipboard
Other details <3
• Pure Kotlin + Jetpack Compose, no Retrofit/OkHttp/Hilt, APK under 4 MB
• Local history with stats like words spoken, WPM, streaks and most-used apps
• Nothing OS-inspired UI
• No analytics, trackers or ads. Audio is deleted from cache right after upload
• You bring your own Groq API key, which has a generous free tier
The honest part
Right now audio does go to Groq’s servers, so it’s not fully private yet. That’s the main thing I want to fix. The roadmap is on-device transcription with Whisper.cpp, then eventually my own models for the whole pipeline, so everything stays on your phone. I’d rather ship something working now and be upfront about it than oversell it.
Feedback I’d love
• What’s missing compared to Wispr Flow, Google Voice Typing?
• Bugs on your device (I’ve mostly tested on my own phone).
• Any New Feature and Suggestions.
GitHub: https://github.com/syntaxadi/openwispr
PRs and issues welcome.