Handy is a desktop application that turns spoken words into typed text, entirely on your own machine. Press a keyboard shortcut, speak, release, and the transcribed text gets pasted into whatever app has focus. It's built for people who want dictation or accessibility tooling without sending audio to a cloud service, and for developers who want a speech-to-text tool they can actually modify.
The project targets Windows, macOS, and Linux, and is built with Tauri (Rust backend, React/TypeScript frontend). It's explicitly designed to be forkable rather than to chase best-in-class accuracy, so the codebase and architecture are kept approachable.
--toggle-transcription, --cancel, --start-hidden, and --no-tray let you drive a running instance from scripts or window-manager keybindings.Cmd/Ctrl+Shift+D) helps with troubleshooting and verbose logging.minisign.Handy fits developers, writers, and accessibility-focused users who want dictation into any text field (editors, chat apps, browsers) without a subscription or cloud dependency. It's a good match for privacy-sensitive environments where audio can't leave the machine, and for anyone who wants to extend or fork a speech-to-text tool rather than treat it as a black box.
It's less suited for teams needing enterprise-grade accuracy guarantees, multi-speaker diarization, or managed cloud transcription pipelines. Linux users on Wayland should expect extra setup (installing wtype or dotool) and some rough edges around global shortcuts and overlay behavior. If you need guaranteed crash-free operation on all Windows/Linux configurations, note that Whisper models are known to crash on certain system setups; Parakeet is the more CPU-friendly fallback.
The simplest path is downloading a prebuilt release:
brew install --cask handy
winget install cjpais.Handy
On Linux, install a text-input helper for reliable pasting:
# X11
sudo apt install xdotool
# Wayland
sudo apt install wtype
If you hit a missing library error on startup (libgtk-layer-shell.so.0), install the matching runtime package for your distro (e.g. sudo apt install libgtk-layer-shell0 on Ubuntu/Debian).
For building from source, including platform-specific build requirements, see BUILD.md in the repository. CLI flags such as handy --toggle-transcription or handy --start-hidden --no-tray work across all platforms and are useful for wiring Handy into window-manager keybindings on Linux.