No account
Nothing to sign up for. Download it and it works.
Push-to-talk dictation for macOS that runs entirely on your Mac. Release the key and the text lands in whatever app you were already typing in — in about 200 milliseconds.
Right ⌥ held — Kyanth listens from the menu bar
Measured, not claimed
ggml-base.en on an M1 Max, key release to text on screen.
Run bench.py against your own voice and check.
How it works
Kyanth lives in the menu bar. There is no window to switch to, no button to find, and nothing to copy and paste.
Any key or chord. Modifier-only combinations work best — they cannot be typed, so binding one steals nothing from other apps.
A pill appears showing your live input level, so a microphone that is hearing nothing looks obviously different from one that works.
The text is pasted where your cursor already was, and your previous clipboard is put back exactly as it was.
Compare
Most dictation apps are a thin client over somebody else's speech API. That is the difference that matters, and it is not a feature list.
| Kyanth | Cloud dictation | |
|---|---|---|
| Price | Free, forever | $10–15 / month |
| Account required | None | Sign-up, email, billing |
| Works offline | Always | No |
| Where your audio goes | Nowhere | Their servers |
| Source code | Public | Closed |
No competitor is named, because the point is structural rather than competitive: a hosted API cannot be private, and a local model cannot bill you monthly.
The app
Hand-drawn AppKit, both appearances, and a setup process that refuses to call itself finished until it has proof.
Silence is the worst failure a dictation tool can have. Six states, six sentences — listening, transcribing, pasted, left on the clipboard, nothing heard, something went wrong.
The three bars are the meter. The centre carries your live level and the outer two replay it a few frames later, so a syllable travels outward.
It floats above other windows without ever taking focus. An overlay that stole focus would redirect your speech into itself.

Eight checks in three groups, re-evaluated every second — flip a switch in System Settings and the row turns without a relaunch.
The last check is the one that matters: Finish stays disabled until a real dictation has produced real text. Green permissions prove configuration, not function.

Modifiers are side-aware, so Right ⌥ is not Left ⌥, and chords commit when you let go rather than on the first key down.
A live indicator lights the moment Kyanth receives exactly your chord — the only way to tell a wrong shortcut from one another app swallowed first.

Time, transcription, how long you spoke, where it landed and how long the model took — as columns, not one crushed string.
Search filters as you type. Click a row to expand it in place, with copy, paste-again and delete. Nothing truncates.
Stored as a plain .jsonl file you can read or delete at any time.

Privacy
There is no server to trust, because there is no server. The speech model ships inside the app and runs on your own hardware.
Nothing to sign up for. Download it and it works.
The only connection is to 127.0.0.1 — the transcription engine inside the app.
No analytics, no crash reporting, no phone-home.
The device opens on your first press and closes after 30 seconds idle, so the macOS recording indicator is not on while you work.
Plain JSONL under Application Support, capped at 500 entries. Delete it whenever you like.
A Developer ID build that opens with no Gatekeeper warning and keeps its grants across updates.
Self-contained — Python, the speech model and the transcription engine all ship inside the app. No Homebrew, nothing to build.