The Problem

VoiceInk solves the friction of dictation on macOS: traditional voice-to-text tools are either slow, send audio to cloud servers, or require manual context switching between apps. For users who dictate frequently—writers, developers, clinicians—the cost of switching between a recorder, a transcription service, and their target app is real. VoiceInk aims to make dictation feel native: press a hotkey, speak, and have text appear in the frontmost app within seconds, with all processing staying on-device.

What This Does

VoiceInk is a native macOS application (Swift, ~156 files) that transcribes speech to text with a global hotkey and pushes the result into whatever app is active. The architecture separates recording (CoreAudioRecorder.swift, Recorder.swift), transcription (Services/LocalTranscriptionService.swift, Services/NativeAppleTranscriptionService.swift, and a Services/CloudTranscription/ directory with providers like Deepgram, Groq, and OpenAI), and output handling (ClipboardManager.swift, CursorPaster.swift, Services/SelectedTextService.swift).

The app is feature-dense. It includes a personal dictionary with word replacements (Services/WordReplacementService.swift), a "Power Mode" that detects the active app or browser URL and applies context-specific settings (PowerMode/ActiveWindowService.swift, PowerMode/BrowserURLService.swift), AI-based text enhancement (Services/AIEnhancement/), and a mini-recorder panel that lives in the menu bar or notch (Views/Recorder/MiniRecorderView.swift). It also supports transcription of pre-recorded audio files (Services/AudioFileTranscriptionService.swift).

How To Use It

Setup: The repo includes a Makefile and a standard Xcode project (VoiceInk.xcodeproj). The README points to BUILDING.md for source builds. The only documented install path is Homebrew: brew install --cask voiceink. For a source build, you'll need Xcode and macOS 14.0+.

Configuration: The app stores settings via UserDefaultsManager.swift and AppDefaults.swift. API keys for cloud transcription services are managed through Services/APIKeyManager.swift and stored in the Keychain (Services/KeychainService.swift). There is no .env file or external config; all configuration happens through the app's UI.

Running it: Build and run the Xcode project, or install via Homebrew. The app runs as a menu bar utility. Global shortcuts are defined in HotkeyManager.swift and MiniRecorderShortcutManager.swift. A local transcription model (ggml-silero-v5.1.2.bin) is bundled in Resources/models/, so offline transcription works out of the box.

Install via Homebrew

brew install --cask voiceink

Or build from source (per BUILDING.md)

make build

Real-World Use

A developer who dictates code comments and commit messages can assign a push-to-talk hotkey in HotkeyManager.swift. With a local model active, they press the hotkey, speak, and the text is pasted directly into their editor via CursorPaster.swift. Power Mode detects they're in Xcode and applies a preset that strips filler words and formats the output as a comment. No audio ever leaves the machine.

Code Health & Issues

High - No test files detected. The repo has zero test targets. Given the complexity of the audio pipeline and the number of service integrations, this is a significant risk for regressions. Medium - No CI/CD pipeline. The .github/ directory only contains issue templates and a PR template. There is no automated build or test gate, which means every merge is unverified. Medium - License model in code. Services/LicenseManager.swift and Models/LicenseViewModel.swift suggest a proprietary licensing layer. The README confirms this: the open-source build lacks auto-updates and priority support. This creates a dual-license situation that may confuse contributors. Low - Bundled binary model. The repo includes a 100+ MB model file (ggml-silero-v5.1.2.bin). This is fine for distribution but bloats the repo history. Low - Proprietary obfuscation. Services/Obfuscator.swift suggests an attempt to hide API keys or logic. That pattern is fragile and can be reversed.

The Bottom Line

VoiceInk is a polished, feature-complete macOS dictation app with a genuinely strong privacy story and a thoughtful architecture. The lack of tests and CI is a real liability for a project of this complexity, and the licensing model means the open-source build is a subset of the paid product. For a technical user who wants a local, fast dictation tool and is comfortable building from source, it's worth a look. For a team considering it as a dependency, the missing test coverage is a dealbreaker.