Last week I wrote that I barely type to my AI anymore. The question that came back was sharper than the article itself: so do you do that with everything else too? Your mail, your notes, your documents?
I do. Pretty much everywhere. And the question right behind it is where all that speech ends up. Nowhere. It stays on my own machine.
The app
I use FluidVoice, a dictation app for macOS. You set a hotkey, hold it down, talk, and the text lands wherever your cursor is. Mail, Slack, a terminal, a field in some web form. The app makes no distinction. It just types for you.
Plenty of software does that. The difference is where the speech model runs, which is on my own machine. You pick one during setup, anything from the small Apple model already sitting in macOS to Whisper, Parakeet or Nemotron, and it downloads to your disk once. After that no audio goes out. No account, no subscription, no server listening in.
The cleanup runs locally too, and that’s the step I assumed would stay out of reach for years. Raw dictation is messy. You say “uh”, you restart a sentence, capitals and punctuation are wrong. Most apps solve that by shipping the raw text to a cloud model that turns it into clean prose. FluidVoice has its own model for that, running on your Mac, about 3.5 GB on disk. It’s optional, and there’s also the option to plug in your own OpenAI or Groq key if you prefer. I don’t. The whole chain, from sound to finished sentence, stays inside my laptop.
The app is GPLv3 on GitHub. Free, open source, and one line to install:
brew install --cask fluidvoice
Why this is more than a saving
In the previous piece I mentioned the bill that comes with voice-first. When you type you pick your words. When you talk more leaks out: the hesitation, the aside, the colleague’s name you half mention. With most dictation apps that goes as a steady stream to a server you don’t own.
For my work that isn’t a theoretical point. I work on public sector innovation, on digital sovereignty, on the question of who owns which data. It would be strange to spend the day arguing that a government should keep a grip on its own records, and the evening piping half my train of thought into an American API because it types more smoothly that way.
Local also happens to be faster here. I wrote before that voice starts to feel sticky above seven hundred milliseconds. Take the network out of the path and part of that delay disappears on its own, because there’s no upload, no queue, no server having a slow moment. On a good day the sentence is there before I’ve finished saying it.
Where I’m critical
I’m not turning this into a sales pitch, because a few things about it sit badly with me.
The heaviest one is the access an app like this needs. To type into any text field, FluidVoice asks for accessibility permissions plus your microphone. That means an app you pulled off GitHub gets standing permission to watch and write in everything you have open. Running locally doesn’t make those permissions smaller. It only moves the trust: away from a cloud service with a privacy policy, towards a small team and the question of whether I’d actually read the code. I haven’t. I doubt many people have.
Second, local isn’t free. It costs disk space, roughly a gigabyte for a speech model and another three and a half for the AI cleanup. It costs compute, so battery. And it costs hardware, because the good models only run properly on Apple Silicon with macOS 15 or newer. Anyone on an older machine falls back to Whisper or is out of luck. Digital sovereignty that requires a new laptop is sovereignty for people who can afford one.
Third, open source doesn’t remove the dependency, it relocates it. The app is GPLv3, but the models doing the actual work come from NVIDIA, from Cohere, from OpenAI’s Whisper. They’re free to use here, but I didn’t build them and I can’t audit them. And the app itself is a young project from a small team. Its 8,800 stars today say something about interest, not about whether it will still be maintained in two years. The advantage of open source is that it can be forked when that day comes. That’s a real safety net, not a guarantee.
Then there’s accuracy. Dutch works better than I expected, but it still trips over jargon and proper nouns, exactly the words that carry the meaning. That isn’t unique to local models. It is the point where I still reach for my keyboard.
What I take from it
Local versus cloud usually gets framed as principle against convenience. That framing doesn’t survive here. I use this because it’s the fastest way to get words into my day. That nothing leaks out is a bonus I didn’t have to pay for.
As long as local is reserved for people willing to suffer for it, it stays a niche position. With apps like this one that point has passed, which makes the conversation about sovereignty a much easier one to have.
Give it a day. Install it, set one hotkey, and dictate your mail instead of typing it. If you like it I’d like to hear about it, and if you don’t, that too. Find me on LinkedIn.
This is a follow-up to I barely type to my AI anymore. This piece also appeared in Dutch: Dicteren zonder dat mijn stem de deur uit gaat.
