Hi HN,
I built TypeWhisper, an open-source dictation and AI text-processing app for macOS.
The basic idea is: press a hotkey, speak, get text inserted into the current app. Under the hood it is not tied to one transcription backend. You can use local models, cloud APIs, or a mix of both, and then run the result through Workflows that match by app, website, hotkey, or fallback context.
I just released TypeWhisper 1.5.0. This release is less about one big flashy feature and more about making dictation behave correctly in real Mac apps.
The main changes:
- app-aware insertion: better spacing, sentence position handling, terminal paste behavior, rich-text targets, and target-app context
- stronger local-model controls: MLX memory-footprint settings, idle auto-unload, lazy restore after unload, and Gemma 4 download recovery
- broader provider/plugin coverage: updates across Gemini speech transcription, OpenRouter STT, Mistral AI, Soniox, OpenAI-compatible profiles, cloud ASR providers, and others
- dictionary learning: auto-learned corrections are surfaced, target-app correction learning is tighter, and dictionary stability improved
- reliability fixes around push-to-talk, Hybrid hotkeys, fullscreen indicators, compressed M4A uploads, FaceTime microphone capture, and workflow output behavior
A few technical details that may matter here:
- macOS 14+ required
- local engines are available, but cloud providers are optional if you want them
- local prompt processing is Gemma 4 via MLX on Apple Silicon, currently limited to the verified E2B/E4B 4-bit variants
- WhisperKit supports live preview while speaking, but final insertion still happens after recording stops; I do not try to promise true character-by-character inline insertion into every Mac app
- there is a loopback-only local HTTP API and CLI for automation
- licensed under GPLv3, with commercial licenses for non-GPL/proprietary use
Project:
https://github.com/TypeWhisper/typewhisper-mac
Release notes:
https://github.com/TypeWhisper/typewhisper-mac/releases/tag/...
Happy to answer technical questions, especially around macOS text insertion, local model handling, or the workflow/plugin architecture.