AboutWorkTimelineProjectsContact
← Back to all projects
ShippedOpen Source100% On-DeviceMIT Licensed

LocalFlow

AI dictation that cleans up your speech as you talk, fully on your own Mac. The Wispr Flow experience without the subscription or cloud.

Problem

What is a product like Wispr Flow actually charging you for once the models it runs on are small enough to sit on the laptop in front of you? People clearly love writing with their voice. I wanted to know whether that still needs the cloud, or whether the whole experience could quietly move onto a device I already own. LocalFlow is me answering that by building it.

$0/mo
Cost, vs. $15/mo
100%
On-Device

What I Learned

I assumed this would be a weekend toy. Download a speech model, bind a hotkey, done. Making it feel instant turned it into a real product. The first surprise was cost. Wispr Flow charges fifteen dollars a month for this in the cloud. I got the same experience on my own laptop for zero, which reset how I think about build versus buy. The harder lesson was product, not tech. The models worked in an afternoon. What decided whether anyone kept using it was the ten seconds of permissions and setup before a model ran. So I stopped tuning the AI and fixed the friction around it. Chasing the real bottleneck instead of the obvious one is what I keep.

Stack

PythonParakeet (MLX)OllamaLlama 3.2

Deep Dive

Why it's free, forever

Wispr Flow subscription$180 / year
Transcription, moved on device$0
AI cleanup, moved on device$0
Models, one time download~3 GB, free
LocalFlow, all in$0 / month
Saved per user each year$180

The only real cost is the one time model download, about 3 GB, plus the electricity your Mac already draws. Everything after runs on hardware you own, so every word you dictate costs nothing. The same experience Wispr Flow rents to you, you get to own.

Product & engineering decisions

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.

Links