Voice dictation · macOS · open source

Speak. Release.
Done.

Open-source macOS voice dictation. Hold Space, speak, release — text appears at your cursor in any app, powered by Deepgram Nova-3 in ~200ms.

Download for Mac

✓ Copied to clipboard

macOS 13+ Apple Silicon & Intel MIT License No telemetry
rekody
Space
Listening

Flag the TP53 variant for tumor board — it's classified as likely pathogenic.

Deepgram · Nova-3 auto · 100+ langs
194ms
Inject at cursor →
Notion Slack VS Code Terminal

How it works

Three beats, no friction.

Push to talk. Release to send. Desktop-grade latency, native to macOS.

01 ·

Hold

Hold Space anywhere on macOS. A quiet indicator shows the mic is live.

02 ·

Speak

Talk normally. Silence gets trimmed; language auto-detects across 100+ tongues.

03 ·

Release

Let go. Text lands at your cursor — engine of your choice, no paste step.

Under the hood

Five stages, start to cursor.

END-TO-END ~200ms total
01
Capture
Mic stream
·
02
Trim
VAD silences
< 5ms
03
Transcribe
Deepgram Nova-3
~180ms
04
Format
smart_format
< 5ms
05
Paste
CGEvent inject
< 10ms
Every stage runs in the rekody Rust binary. No browser, no Electron, no background daemon. audio in → text at cursor

What it feels like

Speaking should feel like typing — only faster.

Any app

Text appears where your cursor lives.

It types into whatever is in front of you — a chart note, a Slack thread, a patient email, a pull-request review, a grant draft. No copy, no paste, no context switch.

Notion
Gmail
Docs
Discord
Figma
Linear
Zoom
WhatsApp

If it accepts keystrokes, rekody writes into it.

100+ languages

Speak however you speak.

Nova-3 hears the language you're speaking — and switches mid-sentence when you do.

auto-detect
English Italian Hindi Polish Hebrew Danish
Spanish Japanese Swahili Vietnamese Filipino Finnish
French Mandarin Russian Indonesian Thai Hungarian
German Korean Dutch Greek Swedish Czech
Portuguese Arabic Turkish Ukrainian Norwegian Romanian

…and ~80 more. Every language Deepgram Nova-3 supports.

Honest by default

Your words stay your words.

No analytics. No tracking. No phone-home. Your audio leaves this Mac only when you hold Space — and only to the engine you picked. Update checks are manual: rekody update. GitHub sees a download count. That's the entire footprint.

Data sent to us

Nothing.

Analytics events 0
Trackers 0
Audio saved to disk 0 bytes
Account required no
Cloud sync never
Binary size representative
rekody 5 MB
Electron app ~250 MB
JVM-based tool ~800 MB

Small + fast

A native binary. Not an Electron app.

Rust, compiled to a single binary. Launches in milliseconds, lives in the menu bar, stays out of your way. MIT — fork it, audit it, take it with you.

Engines

Pick the engine swap anytime.

Four speech-to-text backends. Swap in settings. Cloud by default, fully local when the room demands it.

Deepgram Default
Nova-3
~200ms

Cloud · 100+ languages · smart_format

Groq Cloud
Whisper large-v3
~250ms

Whisper large-v3, hosted. Faster than you expect.

whisper.cpp Local
ggml · CoreML
Offline

Runs fully on-device. No network.

Self-hosted Custom
Any OpenAI-compatible STT
Your SLA

Point at your own URL + API key.

Optional LLM polish

Post-process your transcripts.

Route transcripts through your model of choice to tighten grammar, translate, or reformat. Off by default — Deepgram's smart_format usually suffices.

cohere

— One command. One minute.

Install. Then hold ⌥Space.

$
brew install rekody/rekody/rekody

— auto-taps + installs. Updates via brew upgrade rekody.

macOS 13+ Apple Silicon · Intel Accessibility + Microphone permissions MIT

On the name

rekody

/rɛˈkoʊ.di/
Swahili · East Africa

From Swahili rekodi"to record." Stylized to rekody. A record is what a voice leaves behind once the sound is gone; every time you hold Space, speech becomes text — a small, faithful record of what you said.

Family
Niger-Congo · Bantu
Region
East Africa · Lingua franca
Speakers
~200 million
Script
Latin