Dicto - Push-to-Talk Dictation for macOS

Dicto - Push-to-Talk Dictation for macOS

🚧 Work in Progress

Free, open-source push-to-talk dictation for macOS — hold a hotkey, speak, release, and cleaned-up text appears wherever you're typing

About This Project

Dicto is an open-source alternative to apps like Wispr Flow. Hold a hotkey, speak, and release — Dicto transcribes your speech, cleans it up, and pastes the result into whatever app you're using. It runs entirely on-device by default using whisper.cpp with CoreML acceleration on Apple Silicon, so your audio never leaves your Mac. For higher-accuracy cloud models, you can optionally bring your own API keys (Groq, OpenAI, or Anthropic).

Key Features

  • •Push-to-talk hotkey — hold any key chord, including modifier-only chords like Right Option or Fn
  • •Local Whisper by default, so your audio never leaves your Mac
  • •Optional bring-your-own-key support for Groq, OpenAI, and Anthropic cloud models
  • •Smart cleanup that strips filler words, fixes capitalization, and adds punctuation
  • •Apple Intelligence on-device LLM cleanup on macOS 26+
  • •Floating recording indicator while the hotkey is held
  • •Custom vocabulary to bias Whisper toward your jargon and names
  • •Text replacements and a searchable history of recent transcripts
  • •Privacy-first — no telemetry, no accounts, API keys stored in the macOS Keychain

Challenges & Solutions

  • ⚡Capturing global hold-to-talk hotkeys reliably via a custom CGEventTap
  • ⚡Injecting transcribed text into other apps using CGEvent and NSPasteboard
  • ⚡Running whisper.cpp efficiently on-device with CoreML acceleration
  • ⚡Balancing local privacy with optional cloud accuracy through a BYOK model
  • ⚡Shipping an unsigned macOS app and guiding users through Gatekeeper

What I Learned

  • 💡Building native macOS apps with Tauri v2 and a Rust backend
  • 💡Real-time audio capture and resampling with cpal
  • 💡Integrating on-device speech models via whisper-rs
  • 💡Designing a privacy-first architecture with no telemetry or cloud sync
  • 💡Packaging and distributing desktop software outside the App Store
Dicto - Push-to-Talk Dictation for macOS — Manish Goyal