Typed
Every answer is a yes/no probability, one of your labels, or a score. Code acts on it; nothing is parsed.
Tattle listens to your calls. It transcribes them as people speak, maps the conversation on a timeline, and fact-checks claims as they're said.
Judgment by Jev from TypeSafe AITattle 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.
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.
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 stays yours to edit, and no LLM changes it. Read the full design
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.
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.
nicolasdao.comMade 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.com