Off air
Open-source Mac app

Tattle

Download

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.

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.

Download for Mac

Apple Silicon · macOS 14.2 or later · Free and open source · Free, private transcripts on macOS 26 · v1.1.0 · 153 MB

English only · Fact-checks use your OpenRouter key, up to about $0.35/h

It's a Mac app.

Open this page on your Mac to download it.

See it on GitHub

Apple Silicon · macOS 14.2 or later · Free and open source

Rundown

What happens after you press record Tonight's show

  1. 01On air

    Listens

    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.

  2. 02On air

    Transcribes

    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.

  3. 03On air

    Maps

    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.

  4. 04On air

    Fact-checks

    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

  5. 05On air

    After the show

    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.

Tattle on a recording of the MadKoo podcast: the transcript with each line's speaker on the left, the fact-check tab on the right with a Supported verdict on the UN Security Council's 15 members and a False verdict on UN measures becoming international law, each with its sources, and the timeline of subjects, modes, heat and hype, and markers across the two-hour show.
The real app, two hours into a MadKoo episode: the transcript, two sourced verdicts, and the whole show on the timeline.

Your Mac does the listening

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

Jev

The secret ingredient · by TypeSafe AI Judgment, commoditized

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.

One Jev call, one sentence 7 questions · 1 call · 0.00 s

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.

    Thinking

    How the fact-checker thinks Fast and slow

    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

    Jev and its questions

    Runs
    On every sentence
    Takes
    About 0.4–0.8 s
    Costs
    About $0.00004 a sentence
    Returns
    Is it a checkable claim? What kind? Is it about the public world? How much would listeners care? Is it a repeat?

    System 2

    GPT-6 Luna, with web search

    Runs
    Only when System 1 flags a claim
    Takes
    About 6–16 s
    Costs
    About $0.008 a claim
    Returns
    A verdict with its sources: supported, contradicted, misleading or unverifiable

    System 1 · every line

      System 2 · flagged claims only

        0Lines judged
        0Claims flagged
        $0.0000System 1 cost
        $0.000System 2 cost

        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

        System 2 makes System 1 better

        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

        Labels

        Make the timeline yours Your labels

        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

        Categories

        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

        Scores

        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

        Markers

        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.

        An interview, not a blank page

        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

        Pre-show

        The cue card Before you go live

        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.

        Credits

        Who's behind the show Made by

        Created by

        Nicolas Dao

        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

        Cloudless Labs

        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

        PodcastFirst demoed on

        MadKoo

        The podcast where Tattle was first demoed: honest conversations about AI, building businesses, and figuring things out as they go.

        Watch on YouTube

        Your next show,
        checked live.

        Download for Mac

        Apple Silicon · macOS 14.2 or later · Free and open source

        It's a Mac app.

        Open this page on your Mac to download it.

        See it on GitHub