← Back to Advent of Code

Day 18 - Vibe coding a tool for transcribing podcast episodes

12/18/25

Several months ago, I started working with a previous Fremont City Councilmember to build a website for the podcast he was launching. Check out the website at fremontfocusnow.com.

When a new episode gets released, I generate a speaker-diarized transcript (transcribed using Assembly) to display on the episode's page on the website. I then assign real names to speaker labels A,B, C, etc, and then I structure and save the transcript as a json file in a particular schema. Generating the transcript in this format involved running a janky and messy Colab notebook I'd thrown together that had logic scattered across many cells, and identifying and assigning speaker labels through this way was manual and cumbersome.

Essentially, a colab notebook was the wrong environment for the task, the wrong tool for the job. A more fitting shape is a UI tailored for the task. So I vibe coded a web-based tool that dramatically streamlines the process. It doesn't need to be deployed, it can just run locally.

Transcript generator UI - Upload and preview
Transcript generator UI - Transcribing
Transcript generator UI - Mapping speaker labels
Transcript generator UI - Preview and save

From the UI, I can upload the audio file and kick off a transcription job. Mapping the speaker labels to their real names becomes easy because from the UI I can click on an utterance belonging to eg Speaker A, hear who it is, and then assign the real name to that speaker through the UI.

From there I can see a preview of the generated json, and when I'm satisfied with it I can click the Save button which will save the json file to the exact folder that the website pulls transcripts from and in the exact filename convention that the website logic expects. This is based on the episode number I input into the UI as well.

As an aside, I'm finding that vibe coding is such a great application for building these little bespoke tools. I can't take seriously the discourse going on in the software community around how vibe coding is dumb and useless because I've already directly benefited so much from it.