Blurt (or Talk, Don't Type)

Feb 14, 20263 min read

Blurt

Hold ⌘, speak, release. Text appears wherever your cursor is.

What do you do when you hit rate limits on Wispr Flow (or whatever your go-to speech-to-text tool is) at 2AM?

Like any reasonable person at that hour, you build your own, of course.

That brief window of hitting limits and reaching for my card gave me enough pause to consider what I actually wanted.

And what I needed was simple: voice-to-text that pastes anywhere, and creates a greppable log of my thinking - one that coding agents can trace and consume without external MCP servers or integrations. Local, private, no accounts, no API keys.

I'd be paying for convenience and a UI I probably don't need. Not for a voice app anyway.

Blurt runs fully on-device on macOS (Apple Silicon only) 1. Simply hold down right ⌘ (configurable shortcut), speak, release and your text automatically copy-pastes wherever your cursor is. Sub-second latency (~500-600ms) and 2-3x faster than typing. 2

Every transcript is stored as JSONL:

bash
> cat ~/.blurt/blurts.jsonl | less
{"ts": "2026-02-13T05:27:32.737475+00:00", "text": "Remove theme cycling. The user should be able to set that in the blurt.py file.", "audio": "/Users/satya/.blurt/audio/20260213_052732.wav", "duration_s": 6.81, "words": 15}
{"ts": "2026-02-13T07:13:07.177551+00:00", "text": "Give me a summary of all I've done last week with blurt", "audio": "/Users/satya/.blurt/audio/20260213_071307.wav", "duration_s": 4.88, "words": 12}
...

You (or your agents) can also use blurt log to view conversation history.

The real compounding factor though is memory. Every blurt is a timestamped trail of your thinking, what you decided and why. Grep it, pipe it, feed it to whatever agent you want.

Apps that hold your transcripts are building a context graph of your work. That's fine but it locks you in. With Blurt, your logs live on your filesystem. You own the context.

Your audio never leaves your Mac, and the transcripts and model inferences are all local. No network requests. No cloud. No telemetry.

And yes - I blurted to draft this post. 3

Install via:

bash
pipx install blurt

Free and open-source.

Build once or pay forever.

Footnotes

  1. Source code: https://pypi.org/project/blurt

  2. Uses whisper-large-v3-turbo model with 809M parameters via MLX, and works well out of the box. ~1.6 GB on disk

  3. My 2¢: the default input modality for computing will be voice, with output being voice, text, or rendered UIs on-the-fly. Typing will persist where we need precision as voice is too coarse-grained for that. But for everything else, it's faster to just "blurt it out"