Voice → structured prompt
Tap fn and think out loud. Out comes a goal, numbered steps and constraints — pasted wherever your cursor blinks.
Free 2,000 words/week · macOS 14+ · Signed & notarized by Apple
Fidelity
How much polish? Your call.
Um, the deadline is Friday — wait, actually Thursday. Thursday gives us buffer. And, uh, tell design. Anyway, Thursday.
Punctuation only. Every word kept.
Reliability
Bad days happen. Your words land anyway.
Privacy, structurally
Recognition runs on Apple's speech engine. Our cleanup service only ever receives text — and with your own key or local Ollama, not even that.
· Privacy & permissions, spelled out → · Security & data flow →
Use a separate trigger to turn a rough spoken request into a clear instruction for Cursor, Claude Code, Xcode, or your terminal. ListenIn pastes it where you are already working.
ListenIn captures your mic and your Mac's own audio, so both sides of a call land in one transcript. Transcription and speaker separation run entirely on your Mac — the audio never leaves it. What gets sent for notes is text, never sound.
Features
Pricing
Every download starts with a 14-day full-featured trial — no card, no account
Core voice workflow, with no expiry
Everything in Free, with more room and stronger cleanup
| Feature | Free | Pro |
|---|---|---|
| Cleaned words per week | 2,000 | Unlimited* |
| Raw dictation, no cleanup | Unlimited | Unlimited |
| Cleanup model | Standard | Enhanced |
| Access during high demand | Standard | Priority |
| Dictate · Translate · Ask Anything | ✓ | ✓ |
| Reads the room — tone per app | ✓ | ✓ |
| English + 中文, even mixed | ✓ | ✓ |
| Learns your corrections | ✓ | ✓ |
| Personal dictionary | ✓ | ✓ |
| History — stays on your Mac | ✓ | ✓ |
| Auto-paste at your cursor | ✓ | ✓ |
| Bring your own model | ✓ | ✓ |
| Support | Priority |
* Fair use: soft cap of 60,000 words/week — dictation never hard-stops. Payments handled by Polar (merchant of record)
Under the hood
The engineering behind the three seconds — click any card
Speech-to-text uses Apple’s speech engine — the modern on-device SpeechAnalyzer stack on macOS 26, with the classic engine as fallback. The classic path is allowed to use Apple’s speech service; Apple’s privacy policy applies there.
ListenIn’s cleanup service receives recognized text, never audio. During a dictation, temporary crash-recovery audio and raw text are written locally; normal completion or cancellation deletes the active draft. See every mode and destination →
The cleanup engineRecognizers hear the sounds right and write the wrong word. So the cleanup model reads each sentence for topic, and when a word doesn't belong, it restores the same-sounding word the topic demands — 定价页的「岳父」→「月付」, "Ahader" → "header".
Two gates stop over-correction: the replacement must be what those exact sounds produce, and the context must make the intent obvious — when torn, the transcript stays. Fillers, restarts and self-corrections are resolved under the same rule: every output word must trace to words you said. A regression suite of trap sentences guards all of this on every deploy.
It learns youAfter pasting, ListenIn briefly re-reads the field. If you corrected a word, the fix is harvested into your personal dictionary — which then feeds both the recognizer's biasing and the cleanup model's known-terms list. The loop closes: yesterday's mistake is today's vocabulary.
Context helps too: the tail of your previous dictation (same app, within 5 minutes) tells the model what topic you're on, so ambiguous sound-alikes resolve correctly — at zero extra privacy cost, since that text already went through cleanup.
Trigger & pasteTap fn to start, tap to finish — or hold it like a walkie-talkie. Remap to any key you like. The cleaned text is pasted exactly at your cursor via the accessibility APIs.
Add any OpenAI-compatible or Anthropic endpoint in Settings — including a local Ollama. Requests then go straight from your Mac to your provider; our servers aren't in the loop at all.
The built-in service stays zero-setup: cleanup runs through our backend, which holds the prompt server-side and meters fair use. Two paths, same product — pick per profile and switch with one tap.
Never lose a wordDictation itself never depends on our servers. Offline, over quota, or if cleanup fails — the raw transcript still lands at your cursor, with an honest notice instead of a silent shrug. Everything is also in local history.
Free metering is 2,000 cleaned words a week; Pro's fair-use cap is soft — dictation never hard-stops. When the cleanup service degrades, you see it labeled, never disguised as a result.
ListenIn is learning to take your meeting notes — same personal dictionary, same privacy rules, no second subscription to stack. Leave your email to get the beta first.
FAQ
The App Store sandbox does not expose the accessibility path ListenIn uses for system-wide trigger and paste. ListenIn is distributed directly, signed with an Apple Developer ID, and notarized by Apple so Gatekeeper can verify each build
You still get the raw transcript inserted at your cursor — dictation itself never depends on us. Cleanup picks back up when you're online
No. 2,000 cleaned words per week, forever. Your first cloud cleanup automatically starts a 14-day everything-unlocked trial, so you see the full product before deciding
Payments are handled by Polar as merchant of record — they take care of invoices, VAT, and refunds. Try everything free for 14 days first; if something's wrong after that, tell us and we'll make it right
macOS 14 (Sonoma) or newer, Apple Silicon and Intel