Offline Dictation with Handy

Better Stackgo watch the original →

Handy is an open-source, local-first dictation tool that uses Whisper or Parakeet models to provide private, subscription-free speech-to-text across any application.

Architecture and Implementation

Handy is built using a Rust backend with a React and TypeScript settings interface. It leverages several specialized libraries to handle system-level integration: transcribe-cpp for running Whisper models in GGUF/GGML format, transcribe-rs for Parakeet models, cpal for cross-platform audio input, and rdev for global keyboard shortcuts. To minimize CPU usage during idle periods, the application uses Silero VAD to filter out background silence before triggering the transcription process.

Customization and Performance

Users can select specific models based on speed and accuracy requirements, with the option to drop custom fine-tuned GGML models into the application folder for immediate use. The author reports that the Parakeet Unified 0.6B parameter model runs at approximately five times real-time speed on an M2 Max chip, making it performant enough to run in the background without noticeable system impact. Unlike commercial alternatives, Handy ensures all audio processing remains local, preventing data from being used for external model training.

Comparative Performance

In a side-by-side test involving technical jargon (e.g., "SQLite," "Cobalt," "LLM," "Grock"), Handy significantly outperformed Google Voice Typing, which failed to add punctuation, misidentified technical terms, and struggled with sentence structure. While the commercial tool Whispr Flow provided slightly more accurate results than Handy, the author concludes that the performance gap is negligible, favoring Handy for its MIT-licensed, offline-first approach.

  • #ai
  • #dev-tooling
  • #privacy

summary by google/gemini-3.1-flash-lite. probably wrong about something. check the source.