The app works from a single gesture: hold your hotkey while you speak. Everything else — deciding where the text goes, protecting it from loss, fixing mistakes when the transcription is wrong — is designed around that one action. No modals, no settings to change per field, no list of supported applications. You tell it where to send the text by clicking there first, then dictating into that field.
Can you send me the latest results when you have a moment?
The three moments
Before you start: Click in the field where you want the text. This can be an email message, a note, a code comment, a browser search box, a document outline, or anywhere on your Mac that takes text input. The cursor does not have to be visible; the app detects which field has focus and sends text there. If you are using multiple fields across different apps, simply click into the field where you want this dictation to land.
While you speak: Hold the hotkey — ⌥ Space by default, remappable in settings — and say your words. A translucent pill appears onscreen showing a level meter that climbs and falls as you speak. It tells you the microphone is hearing audio and is at a usable level. Speak at a natural pace and volume. The app is built to understand conversational speech in the language you are speaking.
After you let go: Release the key. The audio stream stops. The app writes the full transcript to your history immediately — this happens before anything else, so a network delay or a crash cannot cost you the words. The engine transcribes your audio, applies your post-processing rules, and within about half a second after you let go, the text appears in your field. This architecture is what makes offline dictation possible.
The architecture: words first, output second
Unlike cloud dictation services, which send your audio to a remote server and wait for the result, this app writes your transcript to disk before the engine is even asked. Your history row exists and your words are safe the moment you release the key. The engine then processes those words, and the text is sent to your target field.
This means if the network is slow, if the engine is overloaded somewhere on your machine, or if something crashes in the pipeline, you still have the transcript. You can paste it yourself, or tap the history row and it retries the output step, or edit the raw text and reprocess it. The dictation is never lost.
The microphone stays closed
Nothing is listening between dictations. The microphone opens only while you are holding down the key. This is hold mode — the default, and the secure choice. You can enable toggle mode in settings if you prefer to press once to start and once to stop, but hold mode is safer because releasing the key always ends the recording, whether or not you intended to.
In hold mode, the only way the microphone can open is if you are actively pressing your chosen hotkey combination. No background listening, no wake words, no timeout listening for silence. A key you control is what gates the mic, and nothing else. This is one of the key reasons the app works offline — nothing depends on any background service or permission the system grants passively.
The transcript: both versions
The app writes two transcripts: your exact words as spoken, and a cleaned version after your processing rules run. Both are visible in your history. The raw version lets you restore the original if the post-processing went wrong. The cleaned version is what lands in your field.
Post-processing is a fixed pipeline: repeat collapsing (removing stuttered words), optional filler removal (removing ums and ahs — off by default), your custom dictionary (applying your entries as rewriting rules), punctuation and spacing. That is the entire list. No AI is asked to improve your phrasing, fix your grammar, or make you sound more professional. You get your words back, cleaned up only by the rules you chose.
When filler removal is off, your ums and ahs stay in the raw transcript. If you realize later that you want them gone, turn on filler removal and reprocess the row from your history — both versions update. Nothing is deleted; you always have the choice.
Where the text goes: accessibility or paste
Text reaches your field through the macOS accessibility API on apps that support it — most modern apps do, both native and web. The accessibility API is the system layer that lets screen readers and other assistive tools interact with applications just as a keyboard does. A dictation app sends text through the same interface.
If an application blocks the accessibility API — some older sandboxed tools, and password fields for security reasons — the app tries a synthetic paste instead. It copies your text to the clipboard, pastes it into your field, and restores your previous clipboard contents. Either way, the text lands in the field where your cursor was.
A few applications, notably terminal emulators and password managers, block pasting on purpose. The app lets you know when this happens, rather than silently failing to send your words.
Works in any text field on macOS
There is no list of supported applications because the app does not need one. Any text field on your Mac that accepts text input from a keyboard will work with dictation. This includes:
- Email clients: Mail, Gmail, Outlook, Fastmail, and any other.
- Chat and messaging: Slack, Discord, Teams, iMessage, or a web-based chat.
- Note-taking: Notes, Obsidian, Notion, Bear, or a browser-based note app.
- Documents: Word, Pages, Google Docs, or any word processor.
- Code editors: VS Code, Xcode, Sublime, or any editor with a text field.
- Browsers: search bars, form fields, text areas, and webmail compose windows.
The only requirement is that the field accepts text. If you can type into it, you can dictate into it.
Accuracy: dictionary and microphone
If the app misheard a word, the first thing to check is the microphone. Accuracy comes from three sources: the engine, the context (which words make sense together), and the audio quality. A quiet or noisy recording, a microphone built for recording voice calls rather than speech recognition, or speaking too close to the mic and clipping the audio cost accuracy far more than any model parameter.
Your custom dictionary is the second thing. Add entries to it for names, technical terms, internal jargon, and rewriting rules. The app does not learn — it applies exactly what you typed, as a hint during recognition and as a rewrite rule after transcription. This is different from tools that absorb your speech patterns and adapt over time. Your dictionary is explicit and stays on this Mac.
To add a dictionary entry, open the app settings and look for the dictionary section. Type a term and its replacement (if any), and it applies to all future dictations. Entries are checked on word boundaries, so "AI" matches "AI" but not "claim" or "fail". Technical terms, product names, and jargon should all be added to your dictionary.
Press once per dictation
One key press is one dictation, one history row. If you need to dictate a multi-paragraph section and want them all in one go, hold the key and keep speaking — it all goes into one transcript. If you want to break it into two rows, let go, then press again.
Each row has its own timestamp, its own transcript (both raw and processed), and its own output attempt. If one row fails to paste into your field, the others are unaffected. You can fix that row and reprocess it from your history without touching the others.
When transcription goes wrong
If the app misheard and the wrong words landed in your field, you have several options:
- Undo and try again: Press Cmd-Z to undo the paste, then dictate again.
- Edit manually: Fix the text by hand. This is sometimes faster than re-dictating. Since the transcript is written to history before anything else, you always have the raw words.
- Reprocess from history: Open the history panel, find the row, tap it to select the raw transcript, and process it again with different settings.
- Check your dictionary: If this word is jargon or a name the app should know, add it to your dictionary and dictate again. It will apply the new entry next time.
Nothing is lost. Both the raw and processed transcripts are in your history, and your original clipboard is always restored. If you have accessibility needs, dictation can help with RSI or other conditions where typing is painful or impossible.
History and recovery
Every dictation is recorded in your history. You can see the time, the duration, the transcript (both raw and processed), the target app, and whether the paste succeeded. The history lets you review what you said, recover text if something went wrong, and reprocess dictations with new settings.
If a dictation never reached your field — because you lost focus, because the network was slow, or because the app crashed — the transcript is still there in your history. Tap the row and it shows you the full text. You can copy it and paste it manually, or tap a button to have the app try sending it again to the current field.
This is why the transcript is written first. A model timeout, a network delay, or a paste that never arrived cannot cost you the words. The record exists before anything can go wrong.
Dictation in your workflow
You do not have to use dictation for everything. Many people use it for first drafts, for quick replies when typing is inconvenient, or for sections where they are stumbling over phrasing. Some use it for code comments and commit messages. Others dictate technical documentation or long-form articles and then edit manually.
Start with low-stakes dictations — a message to a friend, a note to yourself — to get the feel for the pace and the rhythm. The microphone listens while you hold the key, so pauses are natural and there is no pressure to speak without hesitation. You can pause, breathe, and continue, and each sentence is processed cleanly.
The app runs entirely on your machine, so there is no upload step and no wait for a cloud service. From the moment you release the key, your words are being transcribed locally and written to your field. This makes dictation feel immediate in a way cloud services often do not.
Speed and practicality
Transcription takes about half a second after you release the key. For short sentences or replies, this is fast. For longer content where you are building paragraphs, the workflow might be: dictate one sentence, let go, review what landed, dictate the next. Or dictate a whole paragraph in one press and let it all land at once, then edit as needed.
The speed metric that matters most is not transcription latency, but throughput — how much text you can generate in a session. Some people find they can dictate much faster than typing, even accounting for the half-second latency. Others find dictation better for certain tasks and typing better for others.
The setup is simple: hold a key and speak. Let go and the text lands. If you have a moment and a microphone, try it and see if it fits your workflow.
Getting comfortable with the rhythm
Dictation is not typing. The rhythm is different. You are thinking in sentences and paragraphs rather than letters and words. You do not have to worry about capitalization, punctuation, or spacing — those are handled for you. Your job is to speak your thoughts, and the app's job is to write them down.
Many people find that speaking their thoughts actually clarifies them. Where you might pause at a keyboard, struggling with a sentence, dictation keeps you moving. You just keep talking, and the words accumulate. This can be especially powerful for first drafts, where the goal is volume and speed rather than polish.