LocalDictate
Privacy-first local speech-to-text
The problem
Dictation tools stream your voice to the cloud and charge a subscription for the privilege. For something you might use in every app, all day, that is a lot of audio leaving your machine.
The build
Hold a hotkey, talk, release — words are transcribed on your own machine by whisper.cpp and inserted wherever your cursor is. Push-to-talk and hands-free toggle modes, a draggable always-on-top status pill, live transcription while you are still talking, and searchable history in a local SQLite database. No cloud, no account, no audio ever leaves the PC.
Stack & choices
- Tauri v2 · RustWindows app: global hotkeys, tray, audio capture, text insertion
- whisper.cppLocal transcription — whisper-server keeps the model warm in RAM between dictations
- SQLiteTranscript history and stats with retention controls
- WebView2Dashboard UI, bootstrapped automatically by the installer
Process notes
- 1
The warm-transcriber design is the speed trick: whisper-server holds the model in memory so transcription starts instantly, with whisper-cli as the fallback path.
- 2
Live transcription runs phrase-by-phrase in the background while you talk, so text is ready the moment you release the hotkey.
- 3
Deliberately Windows x64 only — written into the README as a non-goal rather than over-building for platforms nobody asked for.
- 4
Privacy is mechanical, not a promise: temp audio is deleted after transcription, and the only network access is the one-time model download you trigger yourself.