Why build this locally instead of just calling a cloud API?
I ranked it the way I would any product call: privacy first, then cost, then speed. Voice never leaving the device kills the biggest objection to using dictation at work. Zero cost beats fifteen dollars a month forever. And skipping the server round trip makes it feel instant. The whole bet was that local models on Apple silicon are now good enough that the user gives up almost nothing and gets all three.
Why Parakeet for the transcription instead of Wispr?
On Apple, Parakeet turns speech into text in about half a second, where Wispr large v3 takes over a second. In dictation, that gap is the entire feel of the product, so it was an easy call. Wispr is stronger across languages, so I left the model swappable in config, but for an English first daily driver I optimized for the thing the user actually feels, which is speed.
How does it type into any app, from Slack to VS Code?
It borrows the clipboard for a moment. Save whatever you had copied, drop in the clean text, fire a paste into the focused app, then put your old clipboard back a beat later. It is the one method that works reliably in every app and text box, and the save and restore step means the user never loses what they had sitting on their clipboard. Small detail, but that is the kind of thing that decides whether people trust the tool.
What was the biggest product problem you ran into?
Onboarding, by a mile. macOS makes you grant microphone, accessibility, and input monitoring access, each in a different corner of System Settings. None of the model quality matters if someone gives up during setup, and I nearly did on my own machine. If I took this further, the first run experience is where I would spend most of the design time, not the AI. That surprised me, and it is the most useful thing I learned.
What would it take to turn this into a real product?
Three things. Package it as a proper menu bar app so nobody touches a terminal. Walk people through permissions instead of leaving them to find the toggles. Then ship the roadmap: a custom dictionary for names and jargon, tone that adapts to the app you are in, and voice commands. The hard part, proving the core loop works, is done. What is left is packaging and polish, which honestly is where most of the real product lives.