Cairn

A static site generator for podcasts

Podcasts you can read, search, and play by the sentence.

Cairn turns a feed into a site where every episode has a digest, topical sections with specific points, and the verbatim words behind each one, with a play button that plays exactly that stretch of audio. Search the full transcript, ask about anything you hear, and save an episode for offline listening.

Cairn: three stacked stones on a mountain ledge, a play button on the middle stone and a bright path winding over the base, a river valley behind Cairn: three stacked stones on a mountain ledge, a play button on the middle stone and a bright path winding over the base, a river valley behind

How it reads

Every episode page works at three levels of zoom. Start at the top, or drop straight into the words.

1

Digest

Five to seven sentences. Each one a claim the episode makes, so you can decide whether to go further.

2

Sections and points

Topical sections with a short summary, and the specific points made inside each one, attributed to who said it.

3

The verbatim words

Every point has a play button behind it, and the exact quote it comes from, over a speaker-labelled transcript you can search.

Digests and section summaries above are written by a language model and paraphrase what was said. Quotes and the transcript are verbatim: the page assembles them from the transcript by segment index, so a quote can never drift from what was actually said.

What you get on every episode

Play by the sentence

Every quote and every line of the transcript has its own play button. Press it and hear exactly that moment, not the whole episode.

Speaker-labelled, searchable transcript

Every line is tagged with who said it. One search box finds it, in the points and in the full transcript.

Quotes that cannot drift

Claude never writes the words inside a quote. It cites a range of transcript segments, and the page joins them, so a quote is always what was actually said.

Ask about this moment

Pause the audio and ask a companion that already knows the episode and the last minute of what was said. It answers in text and, if you want, out loud.

Remembers where you left off

The page keeps your position and what you have heard. The show page shows how far along you are on every episode.

Save for offline

A service worker keeps the audio and the page on your device, so you can keep listening and reading without a connection.

Latest episodes

The newest episodes across every show.

Missing an episode?

The shows above are everything processed so far. If there is an episode or a show you want, say so below and it'll be queued up.

How it's made

Each episode goes through six stages, running locally on a GPU with NVIDIA Parakeet for transcription and NVIDIA Sortformer for speaker diarization, both through NeMo, and Claude for the outline.

  1. 1 · Fetch

    Read the show's RSS feed, save the episode metadata, and download the audio.

  2. 2 · Transcribe

    Sentence-level segments with timestamps and speaker turns, encoded down to a small web-size MP3.

  3. 3 · Correct

    When the show publishes its own transcript, align it word by word and take its wording and names, keeping our timestamps.

  4. 4 · Outline

    Claude reads the indexed, speaker-labelled transcript and writes a headline, a digest, sections, and points that cite transcript ranges.

  5. 5 · Check

    Verify that every section and point cites a real, non-overlapping stretch of the transcript.

  6. 6 · Build

    Render the site: episode, show, and home pages, ready to deploy.