SayItFlow – On-Device Voice Dictation

September 15, 2026

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.

2026-09-15_10-17-07.png

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.