DEV Community

seller-mind
seller-mind

Posted on

How I Built an AI Podcast Assistant on Cloudflare Workers

When I first started my podcast, I thought the hard part was hitting record. I was wrong. The real struggle started after the mic turned off.

I’d spend two hours listening to my own rambling just to write a mediocre title and a few bullet points for the show notes. I wanted to focus on interviewing guests and researching topics, but I was drowning in post-production admin. I was spending more time writing about the podcast than actually making it.

So I decided to build something.

The Hidden Cost of Ignoring Podcast Metadata

If you are new to podcasting, you might think that as long as the audio sounds good, people will listen. But podcast directories are incredibly crowded. If your episode doesn't have a compelling title, a clear description, or structured show notes, it simply gets lost in the shuffle.

Think of it like baking a beautiful, delicious cake and then hiding it inside a plain cardboard box with no label. People walking by won't know it's there, and even if they pick it up, they won't know why they should take a bite.

Titles and show notes are your cake's label. They provide context for search engines (SEO) and give potential listeners a reason to click play. But writing them manually for every single episode is exhausting. The cost of ignoring this metadata is invisibility, while the cost of writing it manually is burnout. I needed a middle ground.

A Beginner-Friendly Technical Approach

I wanted to build a tool that could take my raw transcripts and automatically generate structured show notes, SEO keywords, and episode summaries. But as a solo developer, I needed to keep the architecture simple and the hosting costs predictable.

I decided to build PodCrisp using Cloudflare Workers. If you aren't familiar with "edge computing," it sounds like a heavy buzzword, but the concept is actually quite simple.

Traditionally, when you send data to an AI model, it travels to a massive data center that might be on the other side of the country. With edge computing, the AI inference runs on a server physically much closer to the user. It’s faster, and because Cloudflare handles the infrastructure, I don't have to manage complex servers.

Here is a simplified look at the core pipeline I wrote to generate show notes from a transcript:

// Show notes generation pipeline (Cloudflare Workers + AI)
export default {
  async fetch(request, env) {
    const { transcript } = await request.json();

    // Call AI model for structured show notes
    const response = await env.AI.run('@cf/meta/llama-3-8b-instruct', {
      messages: [
        {
          role: 'system',
          content: `Convert podcast transcripts to show notes:
## Episode Summary (2-3 sentences)
## Key Takeaways (5-7 bullet points)
## Timestamps (estimate from content flow)
## Resources Mentioned`
        },
        { role: 'user', content: transcript }
      ],
      max_tokens: 800,
    });

    return new Response(JSON.stringify(response), {
      headers: { 'Content-Type': 'application/json' },
    });
  },
};
Enter fullscreen mode Exit fullscreen mode

Let’s break down what this code is actually doing in plain English.

First, the worker listens for a web request containing the raw text transcript. Then, it calls an AI model (Llama 3) hosted right there on the edge network.

The real magic happens in the system message. We aren't just asking the AI to "summarize this." If you do that, the AI will give you a random paragraph. Instead, we are giving it a strict template. We explicitly tell it to output an Episode Summary, Key Takeaways, Timestamps, and Resources. By constraining the AI's output format, we get consistent, usable show notes every single time, rather than having to manually edit the AI's output.

Practical Results and Lessons Learned

Building this tool completely changed how I interact with my own content. The biggest surprise wasn't the technology itself, but how it shifted my workflow.

I originally built the show notes generator to run after recording. But I quickly realized that the episode script outline generator was just as valuable before recording. Having an AI help me structure my thoughts and generate SEO keyword suggestions beforehand meant I rambled less during the actual recording. The post-production phase became a breeze because the foundation was already solid.

What worked exceptionally well was the prompt engineering for the titles. By giving the AI rules like "use curiosity gaps" and "no clickbait that overpromises," the generated titles actually sounded like something a human would write.

If I were to change one thing, I would add even more granular controls for the tone of the titles. Sometimes the AI leans a bit too formal, and other times it gets too casual. Adding specific style options helps dial this in, but it's an ongoing balancing act to get the AI to sound exactly like the host's natural voice.

Give It a Try

If you're a podcaster who dreads the blank page when it's time to name your episode, you don't have to stare at a blinking cursor anymore. I put together a free Podcast Title Generator on PodCrisp to help you brainstorm. It uses those same prompt engineering techniques to give you multiple style options, helping you find a title that sparks curiosity without resorting to cheap clickbait.

You can try the free tool here: Podcast Title Generator


Full disclosure: I'm the developer of PodCrisp. I built this because I needed it myself.

Top comments (0)