W×W
AUSTIN, TX --:--:-- CST
← ALL WORK

[ LIVE ] JUN 2026

AI Honestly Podcast Pipeline

PodcastClaude · ElevenLabsAutomation
<30 minVoice memo to live episode
5Social clips per episode
1Command to publish
The AI Honestly podcast homepage, with the large slanted AI Honestly logo, a portrait of Drew, and the episode list with a short answer next to each question
AIHONESTLY.WORKANDWHISTLE.CO. EVERY EPISODE ANSWERS ONE QUESTION

Problem

A podcast is a lot of separate jobs: write a script, record clean audio, edit it, write show notes, publish to every platform, then cut clips for social. Each one is a reason not to make the next episode.

I wanted the cost of an episode to be close to the cost of having the idea. I should be able to talk loosely, anywhere, with background noise and no second takes, and have everything after that happen without me.

Approach

The key decision was to move the effort away from recording. Nothing after the transcript depends on audio quality, so I can record anywhere: the air conditioner can run and a siren can go by. What matters is consistency in the script, so that's where the guardrails go.

The other decision was about the voice. ElevenLabs offers more animated voices, and I picked the model that sounds most like me. I also don't try to hide that it's AI. The show's site says so on its process page:

I'd rather you know it's AI. I could spend another pass polishing each episode to the point where nobody could tell, and the tools are good enough now to do that, including full multi-voice conversations. I'd rather trade that polish for speed and get episodes out the door.

How it works

  1. I talk into Apple Voice Memos. I don't use an outline or do retakes, and I circle back when I forget something. It takes about five minutes, and the transcript appears when I stop recording.
  2. A Claude project writes the script. The project holds the guardrails: the episode format, the intro I use every time, and a running list of words and phrasing to avoid so it doesn't read like a machine wrote it. What comes back is usually about 95% of a finished script.
  3. ElevenLabs reads it in my voice. I trained the clone on about two hours of me talking freely, not reading. Each episode starts as a copy of the last ElevenLabs project, so the Suno-generated theme music is already in place. I listen through once, fix any odd phrasing by editing the text, and export an MP3 and a timestamped VTT transcript. This is the longest step, about ten minutes, and most of it is listening.
  4. One command publishes it. A pipeline I built in Claude Code asks for the episode number, title, date, and whether it's explicit. Then it uploads the audio, writes the show notes and timestamps from the transcript, places the transcript, builds the episode page, and updates the RSS feed that Apple Podcasts, Spotify, YouTube, and the other apps read.
  5. Another command cuts the clips.

What I shipped

Five clips per episode, cut on clean sentence breaks

The clip command reads the episode's transcript and asks Claude for five moments: three short ones, one medium, and one long (about 12, 12, 12, 25, and 45 seconds). Claude chooses from the numbered transcript lines, not from raw timestamps, so a clip can only start and end where a line does. It can never land in the middle of a word. For each clip it also writes a hook and says why it picked it:

{
  "hook": "A two-day edit down to one hour",
  "reason": "A punchy before/after teaser that lands the core payoff in one quick beat.",
  "startCue": 7,
  "endCue": 9,
  "durationSec": 12.33
}

Each clip is cut from the episode audio and rendered as a vertical video in the show's colors: the episode question at the top, the AI Honestly mark, a waveform that moves with the audio, and captions timed from the transcript.

Three vertical social clips from episode 4, Can I edit video with AI?, each with the question at the top, the AI Honestly logo in the middle, and a different captioned line at the bottom
THREE OF EPISODE 4'S FIVE CLIPS. SAME CARD, DIFFERENT MOMENTS, CAPTIONS FROM THE TRANSCRIPT

Show notes written from the transcript

The publish step sends the timestamped transcript to Claude, which writes the summary, the "In this episode" highlights, and chapter timestamps that line up with the audio. It also lists the tools the episode talks about. I don't write any of it.

The episode 4 page: an In this episode list of highlights, timestamps from 0:00 to 7:18, and the tools mentioned
EPISODE 4'S HIGHLIGHTS AND TIMESTAMPS, GENERATED FROM THE VTT

A site and feed that can't publish broken

The website is a static Astro site on Cloudflare, and the episode audio lives in Cloudflare R2. The publish command builds the site, validates the RSS feed against the spec, checks the built site, and only then deploys. If the feed is wrong, nothing goes out. That matters because a broken feed breaks every subscriber's app at once. The pipeline also treats each episode's audio URL as permanent once it's published, so podcast apps never lose a file.

My own download numbers

Every download request is logged raw to a small Cloudflare database. The download counts are calculated from that log following the podcast industry's measurement standard, so repeat downloads, bots, and tiny partial requests don't inflate the numbers. I own the data instead of relying on a hosting platform's dashboard.

Outcome

Four episodes are live, each in under thirty minutes from voice memo to feed. The questions so far: replacing an email program with AI, making an AI podcast (the show explaining itself), building an AI speed-to-lead system, and editing video with AI. Each episode ships with five clips ready to post. The only parts I still do by hand are the thinking and the listening, and those are the parts that should be mine.