I added always-on dictation to Handy, the open-source local speech-to-text app: press once, keep talking, and each pause gets typed while the mic keeps listening. Download the macOS build and see what went into it.
![]()
Handy is an open-source, fully local speech-to-text app. I use it a lot. But for long-form dictation it had one friction point: you press the shortcut, speak, press it again to get your text, and repeat for every sentence.
So I built always-on dictation. Press its shortcut once and the microphone stays open. Each time you pause, what you just said is transcribed and typed at your cursor, while Handy keeps listening. No wake word, no pressing anything between sentences. Press the shortcut again to stop.
Handy-Always-On-Dictation_0.9.8_aarch64.dmg (zipped, 14.4 MB)
SHA-256 of the zip: c5efbd2e5e7b60b9404fe4769b37deb95de1aa00c3b315fdbd1b6990e0cdcac8
Before you install:
xattr -dr com.apple.quarantine /Applications/Handy.app.To turn it on: Settings → Advanced → Always-On Dictation. Set a shortcut, and adjust Pause Before Typing (default 2 seconds) to set how long a pause ends a stretch of speech.
Checking whether anyone had already done it. Before writing code, I went through the upstream Handy repo: commits, code, issues, pull requests and discussions. The closest things were:
So the idea had been asked for, but nothing that does “just keep talking” exists upstream, and new features aren’t being accepted. That made a fork the right place for it.
Building it. The core change is in the audio pipeline:
In total: 43 files changed, 1,069 lines added and 41 removed, including a new 291-line dictation module. Full diff: the commit on GitHub.
The code is open source at github.com/mathewvarghesemanu/always-on-dictation (branch always-on-dictation). Handy itself is created by CJ Pais and released under the MIT license. All credit for the app goes to him and its contributors; this fork only adds always-on dictation.