All work Developer Tool

Flow

Local voice dictation that types cleaned-up text into any focused window

Built

A self-hosted voice dictation tool: hold a hotkey, talk, release. Speech is transcribed on the machine's own CPU with faster-whisper, a language-model pass strips filler words and fixes punctuation, and the cleaned text is typed straight into whatever window has focus — Slack, an editor, an email. A local replacement for a paid dictation subscription, with the audio never leaving the box.

0recorded audio that leaves the machine
2hotkey modes — dictate and rewrite
4standalone checks, one end-to-end

The problem

Many voice dictation tools require paid subscriptions and send audio to cloud servers, raising privacy concerns for users who dictate frequently. A local solution is needed that maintains accuracy and convenience without relying on internet connectivity or sharing personal speech data with external services.

What I built

The tool is fully functional and runs locally with all processing on the machine. It includes end-to-end checks for audio capture, transcription, polishing, and injection. Custom dictionaries and snippets can be configured, and it handles edge cases like LLM unavailability by falling back to offline cleanup.

How it works

Flow uses pynput for global hotkey listening, where holding Ctrl+Alt records audio via sounddevice. On release, faster-whisper transcribes the audio locally on CPU with int8 compute and configurable threads. The raw text is sent to a local OmniRoute gateway for cleanup with a LLM (e.g., gemini-3.1-flash-lite), which corrects punctuation and removes fillers. If the LLM fails or is slow, it falls back to regex-based filler stripping. The cleaned text is injected by copying to clipboard and simulating Ctrl+V, ensuring compatibility with any application. The entire pipeline runs on a worker thread to prevent keyboard freezing during transcription, and truncated LLM responses are discarded to avoid partial text.

Running locally as a replacement for a paid dictation subscription — audio stays on the machine

Highlights

  • Speech recognition runs on the machine's own CPU — the recorded audio never leaves the box
  • Two hotkey modes — dictate at the cursor, or rewrite the text currently selected
  • LLM cleanup pass corrects punctuation and removes filler words
  • Injects text into any application via clipboard and keyboard simulation
  • Worker thread pipeline prevents keyboard freezing during transcription
  • Fallback to regex filler stripping if LLM is unavailable or slow
Pythonfaster-whisperpynputsounddevicepyperclip
Want one of these?

Let's build yours.

Tell me what you're trying to ship — you'll get a scoped plan and a straight answer.