OpenAI Realtime — the default
Streams your voice to OpenAI's Realtime API over an encrypted WebSocket and returns text as you speak — the fastest route. Needs an OpenAI API key with Realtime access. Your audio streams to OpenAI while you dictate.
EXPERIMENTAL v0.0.0 · APPLE SILICON macOS · BUILD FROM SOURCE
Your words land at the cursor of the app you’re already in. No dictation window, no copy-paste.
One gesture. One destination. Two routes to get there.
Hold the Talk Key (Right Option) and one Utterance opens. Speak; on release, type-wave commits the Final Transcript — the only text it ever inserts — and places it at your Focused Target, the cursor of the app that already has focus. One hold, one insertion. A silent HUD shows a red waveform while you talk, then green processing dots until the text lands — it never shows the transcript itself.
OpenAI Realtime — the default
Streams your voice to OpenAI's Realtime API over an encrypted WebSocket and returns text as you speak — the fastest route. Needs an OpenAI API key with Realtime access. Your audio streams to OpenAI while you dictate.
Local Whisper — offline
Runs Whisper Large v3 Turbo entirely on your Mac. No API key, no network while you dictate — the audio never leaves your machine. A one-time, credential-free model download and you're set.

Switch to local Whisper and type-wave goes fully offline.
Point the Backend Router at local Whisper and type-wave stops touching the network. Your voice is captured, transcribed, and inserted without a byte leaving your Mac — no API key, no cloud, no dictation-time network. The only fetch is a one-time, credential-free download of the pinned model; after that, local mode runs with no network at all. (In the default OpenAI mode, your audio does stream to OpenAI while you dictate — privacy is what you get when you choose local.)
From source with Nix and Zig on an Apple Silicon Mac. No binary to download — you build it yourself.
export OPENAI_API_KEY=sk-...
nix develop --command zig build runnix develop --command zig build install-agent
~/.local/bin/type-wave --set-keyPrefer offline? Choose the local backend and you can skip the API key.
HOW IT WAS BUILT
Charted with wayfinder, part of Matt Pocock's AI Skills for Real Engineers. The plan for this site was mapped as decision tickets and resolved one at a time before a line was built.