Tota is a Mac dictation app that types prompts, pull-request descriptions, commit messages and docs into Cursor, VS Code, Slack and the terminal, transcribing on-device so internal codenames, customer names and unreleased work never reach a dictation vendor.
You are three paragraphs into explaining a bug to Claude in Cursor and your hands are tired of typing what you could just say. The best dictation apps for this are cloud apps, which means the explanation, with the customer's name, the internal service names and the stack trace, goes to someone else's server first. Tota transcribes on your Mac, biases towards your own tool and product names, and types the prompt where your cursor is.
Why a developer's dictation should not go through a cloud
Developers dictate things that are not meant to leave the building: unreleased features, customer incidents, internal hostnames, codenames and the occasional secret that should not have been in the paste buffer. Cloud dictation apps send that audio to their own servers and often through a third-party AI provider, and some of them also capture your screen for context. Your security team's opinion of that is predictable.
An Apple Silicon Mac can run OpenAI's Whisper models locally at speeds that make the cloud unnecessary. The formatting layer that turns speech into clean text can be a small local language model. Nothing about dictation requires a server; vendors use one because it is convenient for them.
Tota is built around that. It ships with a Development starter glossary of tools and product names, lets you add your own, and types into any app including editors and terminals. No account, no upload, and it works on a plane.
What developers actually dictate
- Prompts to Claude, ChatGPT and Cursor. Long explanations of what you want, which are much faster to say than type.
- Pull-request and issue descriptions. The context, the approach and the test plan, dictated into GitHub, Linear or Jira.
- Commit messages and code comments. Short text where hold-to-talk is quicker than switching to the keyboard.
- Documentation and ADRs. Architecture decisions and READMEs, drafted by voice with Smart Formatting handling lists and paragraphs.
- Slack and standup updates. The daily writing that nobody enjoys typing.
What leaves your Mac, and what doesn't
This is the whole list. Every row is checkable from the app's own behaviour, and the security page explains how to watch its network activity yourself.
| Data | Leaves your Mac? | What actually happens |
|---|---|---|
| Your voice while dictating code, prompts and internal names | No | Recorded to a temporary file, transcribed on your Mac by Whisper via WhisperKit, then deleted. |
| The transcript | No | Typed into the app you are using. Kept in a local history for three days, then archived as Markdown in a folder you choose. Entries can be deleted. |
| Text on your screen | No | With “Spell what’s on your screen” on, the visible text of the window you are dictating into is read once, to bias spelling. Never stored or sent. Can be turned off. |
| Glossary terms and learned corrections | No | Stored as JSON files in Tota’s folder in Application Support. |
| Smart Formatting | No | Runs a local Qwen 3 language model via MLX. Off by default. |
| Audio files dropped in for transcription | No | Transcribed and speaker-labelled on your Mac. |
| Licence key and a machine identifier | Yes | Sent to api.lemonsqueezy.com at activation and validation. Never any content. |
| Update check | Yes | A download request to github.com at launch. Can be disabled in Settings. |
| Model downloads | Yes, one-way | Speech, formatting and speaker-ID model files from huggingface.co, once, on first use. |
| Usage analytics or crash reports | Never | There is no analytics or crash-reporting SDK in the app. |
How Tota works for software developers
Install the app, grant it microphone and accessibility access, and press Cmd+Shift+R wherever your cursor is. Tota records until you press it again, transcribes the audio on your Mac with OpenAI's Whisper model running through WhisperKit, and types the result into the field. There is also a hold-to-talk key for short entries and a “Hey Tota” wake word for hands-free use. It behaves like a keyboard, so it works in browser-based systems, Word, email, Notes and anything else with a text field, with no integration to request from IT. After the one-time model download it needs no internet at all.
Three optional layers sit on top. Smart Formatting runs a small local language model that fixes punctuation, turns “new paragraph” and “new list” into structure, and corrects stutters without rewriting what you meant. The auto-learning dictionary remembers the corrections you make. And Audio Drop transcribes audio files you already have, with automatic speaker labels, also on-device.
Workflows for an engineering team
- The long prompt. Cursor in the chat box, shortcut, talk through the bug. Smart Formatting cleans up stutters and self-corrections without rewriting what you meant. The Development glossary keeps 'Vercel' from becoming 'versel'.
- Casing by voice. Say 'camel case', 'snake case' or 'kebab case' before an identifier and Smart Formatting applies it, so variable names come out as code, not prose.
- Per-app glossaries. Turn on auto-pick by app and Tota uses the Development glossary in VS Code and Cursor, and the Names glossary in Slack.
- Terminal. Tota types into the terminal like a keyboard. When a terminal enables secure keyboard entry, macOS blocks all hotkeys and Tota shows a banner explaining why.
A glossary for software developers
Developer vocabulary is product names and acronyms that general speech recognition has never heard. Tota ships with a Development starter glossary and lets you add your own. A glossary is a short list of terms the speech model is nudged towards while it transcribes, with sound-alike matching afterwards for anything it still mishears. A team glossary might add:
- internal service and repo names
- codenames
- Kubernetes
- PostgreSQL
- Terraform
- gRPC
- OAuth
- idempotent
- Anthropic
- Vercel
- pnpm
- teammates' names
Keep each list to the terms that get misheard; the live hint has room for roughly 70 to 90 words. Glossary files are plain JSON in Tota's Application Support folder, so a team can share one in a repo.
Tota ships with a built-in Development starter glossary you can edit, and the glossaries guide covers set-up, the hint budget and per-app switching.
What Tota does not do
- It is not a code-dictation engine. Tota transcribes natural speech. It is excellent for prose, prompts and messages, and workable for identifiers with the casing commands, but it will not write syntax for you.
- Secure keyboard entry blocks it. When a terminal or a password field enables secure input, macOS prevents any app from injecting keystrokes or seeing hotkeys. Tota shows a banner and waits.
- Screen context is on by default. Tota reads the visible text of the window you are dictating into at the moment you start, to bias spelling. It is never stored or sent, and you can turn it off in Settings if your policy prefers.
- Transcripts are files on your Mac. Nothing is synced or backed up by Tota. FileVault, your backup tool and your device policy are what protect them.
Pricing for an engineering team
Tota is a one-time purchase of £19.99, with two seats per licence, after a 14-day free trial of every feature. There is no subscription, no per-minute transcription fee and no word limit, because local processing costs us nothing per word. Larger teams buy additional licences. Pricing is the same worldwide; see the pricing section for what the licence includes.
Frequently asked questions
Does my code or prompt text leave the Mac?
No. Audio is transcribed on your Mac by OpenAI's Whisper via WhisperKit, deleted once transcribed, and the text is typed into the app you are using. Tota's only network calls are a licence check to the payment provider, an update check to GitHub and one-time model downloads from Hugging Face. There is no analytics or crash-reporting SDK.
Does it work in Cursor, VS Code, Zed and the terminal?
Yes. Tota is system-wide and types into any text field. In terminals it works unless secure keyboard entry is enabled, which blocks every app's hotkeys at the macOS level.
Can it output camelCase and snake_case?
Yes, with Smart Formatting on. Say 'camel case user id' and you get userId; 'snake case' and 'kebab case' work the same way, and 'all caps' for constants.
Can I verify the no-network claim?
Yes. Run Little Snitch or LuLu and watch the app: a licence check at activation, an optional update check at launch, and model downloads from huggingface.co the first time you enable a model. The security page lists all of them. Updates are signed with EdDSA and verified by Sparkle before installing.
Does it read my screen?
With 'Spell what's on your screen' on, Tota reads the visible text of the window you are dictating into at the moment you start, purely to bias spelling for that dictation. The text is never stored or transmitted. The setting can be turned off.
What does it cost?
£19.99 once, after a 14-day free trial, with two seats per licence. No subscription and no word limit.
Talk to your editor without talking to a server
Download Tota, enable the Development glossary, and dictate the next prompt. Two seats, £19.99 once.
14-day free trial · macOS 14 or later · No account needed

