Most local dictation tools keep 1–2 GB of models loaded forever. SayItFlow unloads them after 2 minutes of silence and drops to ~15–30 MB. Here's why I built it.
I've been using voice dictation on Mac for a while. It's great when it works — until you notice your fan spinning and Activity Monitor showing 1.5–2.5 GB of RAM permanently occupied by some "on-device" AI process, even when you haven't spoken for hours.
That's the problem almost every local dictation app has today.
They load large speech models (and often a second language model for cleanup) and leave them sitting in unified memory 24/7. Battery drains. The machine stays warm. And for what? Most of us only dictate a few times a day.
I wanted something different:
- Completely private (audio never leaves the machine)
- Fast enough to feel instant
- Polished English output
- And invisible when not in use
So I built SayItFlow.
What SayItFlow does
Hold the Spacebar (or any custom key) anywhere on your Mac → speak → release.
Your words are transcribed locally and typed directly into whatever app has focus — VS Code, Slack, Chrome, Terminal, Notes, Notion… anywhere.
No cloud. No account. No word limits.

Zero Idle Footprint
This is the real differentiator.
SayItFlow uses a smart 120-second inactivity lifecycle:
- While you're speaking (and for 2 minutes after), the models stay hot for instant response.
- After 2 minutes of silence, it cleanly unloads the Core ML weights and the normalizer process.
- Background footprint drops to ~15–30 MB with 0% CPU/GPU.
- When you press the hotkey again, the models stream back into memory while you are still speaking. By the time you release the key, everything is ready.
| State | RAM Footprint | Overhead |
|---|---|---|
| Idle (> 2 min silence) | 15–30 MB | 0.0% |
| Active dictation | ~1.1–1.3 GB | ANE + Metal |
| Rapid successive use | ~1.1–1.3 GB | Instant |
Most competing tools never unload. They just stay heavy forever.
Under the hood
Two-stage fully on-device pipeline:
Mic → Desert Ant Voz (Apple Neural Engine) → S1-mini → Injected text
- Speech recognition uses Desert Ant Voz — a 467 MB Core ML model that runs entirely on the Apple Neural Engine. It's extremely fast (up to 290× real-time) and supports 25 languages.
- Text cleanup uses S1-mini by Superwhisper (≈462 MB quantized). It removes fillers ("um", "uh", "like"), fixes punctuation and numbers, and produces clean written English. Non-English dictations pass through untouched.
The hotkey engine is a low-level CGEventTap that cleanly distinguishes a quick Spacebar tap from a long hold. Text insertion uses the Accessibility API with a keystroke fallback.
Try it
Download the DMG from the GitHub releases page or build it yourself:
git clone [email protected]:innovatorved/sayitflow.git
cd sayitflow
make dmg
→ github.com/innovatorved/sayItflow
A star on the repo is always appreciated.