$0
Transcripts cost nothing, however long the show. No account and no API key.
Tattle for Mac is a free, open-source app that transcribes your calls and podcasts live and uses AI to fact-check claims as they're said.
Tattle hears two sides: your microphone, and the call your Mac plays. It listens to the Mac's own audio, so it works with any call app.
The transcript streams as people speak, on your Mac itself on macOS 26 or later. Tattle tells the voices apart, and you can give each speaker a name.
Jev labels every stretch of the conversation as it happens, and the labels build a timeline: topic, mode, heat and hype, disagreements, hot takes, predictions, recommendations and clip-worthy moments.
Jev flags the checkable claims the moment they're said. A slower model then researches each one on the web, and a verdict with its sources appears on screen within seconds. How the two work together
Ask questions about the transcript, live or afterwards. Every show is saved in your recordings library, where you can play it back at up to 4× or export it as one file to share.
On macOS 26 or later, Tattle transcribes with the speech recognition built into your Mac. Nothing to sign up for.
$0
Transcripts cost nothing, however long the show. No account and no API key.
Private
The audio of your calls is transcribed on your Mac, and it never leaves your Mac.
Offline
A transcript-only show needs no internet at all, once the speech model has downloaded the first time.
Needs macOS 26 or later: older Macs transcribe with OpenAI, using your own key. Fact-checking, labels and Chat use the internet. How transcription works
Every sentence of your show gets judged, live, for cents an hour.
An LLM could always tell you whether a sentence is a checkable claim. The trouble was doing it for every sentence of a two-hour conversation, while it happens. An LLM writes an answer in prose, word by word, which takes seconds and costs dollars an hour. And what comes back is text that software then has to parse.
Jev is a different kind of model. TypeSafe AI calls it a System One model. It doesn't write text. You give it a state and a set of typed questions, and it answers all of them at once, as probabilities and labels your code can act on directly. That makes judgment cheap and fast enough to run on everything anyone says, which is the one thing a live fact-checker needs.
Typed
Every answer is a yes/no probability, one of your labels, or a score. Code acts on it; nothing is parsed.
0.4s
About that for one call, with every question in it answered in parallel. Fast enough to keep up with speech.
~2,000
Typed judgments in an hour of show: every sentence and every stretch of conversation gets its own set.
~4¢
Roughly the Jev cost of a one-hour show, estimated from Tattle's test conversation. A show full of claims costs a little more.
State
Questions and typed answers
Example answers. The questions are the ones Tattle asks; the full wording is on GitHub, and the app's Jev log shows every call.
Tattle began as a live, on-air demonstration of Jev for a podcast about AI. The point was to show that software should ask a model for narrow, typed judgments, and keep everything else in code: the timestamps, the counting and the speaker names are never asked of a model. The whole app is open source, so any developer can see how it's done.
The psychologist Daniel Kahneman described two ways of thinking. System 1 is fast and automatic, and it's always on. System 2 is slow and deliberate, and it's called in only when something needs a closer look. Tattle's fact-checker works the same way.
System 1
System 2
System 1 · every line
System 2 · flagged claims only
The flag is decided by code, not by a model
claim ≥ 0.7 and claim_type ≠ none and public ≥ 0.6 and worth ≥ 1.5
Jev itself never changes. System 1 is Jev plus its questions, and each verdict grades the flag that caused it, so System 2 can improve the questions while the show runs.
Memory
Every flagged claim becomes a new question, so if someone repeats it, Jev spots the repeat in the next call and the earlier verdict comes back instantly, with no second research.
Criteria
After false alarms or missed claims, System 2 rewrites System 1's questions. A rewrite goes live only if replaying past lines shows it fixes the errors and keeps at least 90% of the good flags.
Attention
System 2 can add up to three questions that raise the priority of the kinds of claims that turned out to matter. Every five minutes it also audits the lines that weren't flagged, looking for misses.
On the timeline, you are System 2: labels have no right or wrong answer to learn from, so the label set is yours. An AI can draft one with you, but only you save it, and no LLM changes it on its own. Fact-checking in the app · Read the full design
The timeline is what Jev is asked about every stretch of your conversation. Those questions are a label set, and it doesn't have to be about AI podcasts. Write one for a sales call, a team meeting, a job interview or a cooking show, pick it when you start, and the timeline, the filters and the stats all follow it.
Up to 2
Jev picks one option for each stretch: the stage of a sales call, the topic, the mood. Each draws a coloured lane, and one can become a big number in the stats, like the share of time spent off topic.
Up to 2
Graded on five levels you name, from Calm to Very heated, or from Skeptical to Enthusiastic. Each draws a line on the chart and is averaged per speaker.
Up to 8
A yes or no for each stretch: an objection, a decision, a hot take. When Jev is sure enough, the moment gets a pin with its icon, a filter chip, and a list in the stats.
Good questions for Jev are narrow and concrete, and that's hard to write from scratch. So Create with AI interviews you instead: it asks one question at a time, with answers you can click, and fills in the draft beside the chat as you go. Leave something out and it proposes it. Ask what a threshold is, or why every category needs an "Other", and it explains, then gets back to its question.
AI
Got it: weekly sales calls with prospects. You mentioned stages but not which ones, so I've drafted four: Discovery, Demo, Pricing, and Other, which catches everything else.
Do these stages match your calls, and would a 0 to 4 score help too, like how interested the prospect sounds?
The stages are rightAdd a Negotiation stageNo scores
You
Add Negotiation. And I want to see every objection.
Still to settle
✓ The conversation✓ Stage and its options• Objection: yes and no wording• A name
An example. The app keeps the checklist itself, so nothing required gets skipped, and nothing is saved until you press Save.
Try it first
See what a draft would draw on the first ten minutes of a real recording, next to what that recording showed, before you use it on air. Half a cent or less.
Share it
Every set is a small file on your Mac. Export it as a .tattle-labels file, send it, and anyone with Tattle can import it. Making and sharing sets needs no account.
Kept with the show
Each recording keeps a copy of the set it was made with, so editing a set later never changes a past show. Asking a set costs about a cent an hour of Jev.
Try it and Create with AI use your OpenRouter key, like fact-checking. How label sets work
0 keys
On macOS 26 or later, Tattle transcribes on your Mac and needs no account. Fact-checking and labels use your own OpenRouter account, with prepaid credit, and on older macOS transcription uses your OpenAI account. The app walks you through each when you need it.
Free transcripts
A transcript costs nothing on macOS 26 or later. Fact-checking and labels add up to about $0.40 an hour on OpenRouter, and transcribing with OpenAI instead about $1.23. Tattle itself is free.
0 servers
Tattle has no server of its own, no account and no analytics. On macOS 26 or later your audio never leaves your Mac; text goes to OpenRouter, with your key, only when fact-checking, labels, or Chat are on. Recordings and keys stay on your Mac.
Signed
It's signed and notarized by Apple, and it updates itself, but never during a show.
Every key, cost and setting is in the docs: keys, costs, privacy, and a checklist for show day.
Created by
A cloud and AI engineer and solo founder based in Sydney, Australia. He built Tattle with AI agents, as a working example of an idea he writes about: one person, directing AI agents well, can build what used to take a whole team. On his YouTube channel he shows how to use AI well.
Made at
Nicolas's consultancy in Sydney, for AWS, AI and e-learning: cloud migrations, serverless architecture, and custom AI agents, for startups, enterprises and government. Tattle is open source under its name.
cloudlesslabs.comPodcastFirst demoed on
The podcast where Tattle was first demoed: honest conversations about AI, building businesses, and figuring things out as they go.
Watch on YouTube