Publishing an Audiolog

I really enjoy Russell Davies’ podcast, 4764. He describes it as an audio commonplace – short clips selected from whatever he has been listening to recently, packaged into a weekly podcast. Its a lovely way of listening through someone else’s ears and discovering things that you might not otherwise come across.

I decided I’d like to make my own version of Russell’s podcast. Mainly as a way of saving interesting clips for myself and to encourage myself to listen more actively.

Here is my Audiolog. There are 4 episodes so far. One episode combines clips from George Pólya and Pamela Anderson.

The rest of this post is some notes on how I put it together, including my first impressions of vibe-coding with Claude Code.

Saving audio clips

Nowadays, I consume most of my information through podcasts and audiobooks on my iPhone. I wanted an easy way to collect occasional recordings of what I was listening to – the audio equivalent of highlighting a passage of writing. At first I thought there might be an app dedicated to capturing audio - like Audio Hijack on the Mac, but nothings exists on the iPhone - mainly due to the iOS sand-boxing.

The best way I found to record the sound of whichever app happens to be playing audio is to take a screen-recording. So when I find myself wanting to save a clip, I save a screen recording to the Photos app. I did come across a few apps that disable audio when screen recording is active, but thankfully Audible, Overcast and Safari don’t do this.

Next I wanted a way to process these recordings with a minimum of fuss. I created an iOS Shortcut that exports these screen recordings from the Photos library and into the file system in a usable format.

The shortcut:

Creating episodes

Periodically I want a way to review the clips, clean them up a little, stitch them into a podcast episode and publish it. I ended up building two small utilities to help me. I made both of them from scratch using Claude Code. I didn’t touch the source-code at all. Just iterated with Claude until it worked the way I wanted it to. I believe this means I am vibe-coding correctly.

The first tool is an episode creator. This is a standalone HTML and Javascript app that lets me load the contents of my recordings folder, select one or more clips and turn them into an episode.

The app also lets me re-order the clips, trim the beginning and ending, give each clip a title and description and crop the screenshot into a thumbnail image. When I’m ready I can export an episode. The app will then:

Publishing a podcast

The second tool I created was simpler. I wanted to self-host a podcast feed and website. I didn’t want to spend too much time building the website or RSS feed, so again I asked Claude to build me a static site generator to publish the site and RSS feed for me. I asked for a simple Node.js application with a build script and no reliance on frameworks like Hugo or Jekyll. I gave Claude a copy of the episode resources I had exported from the episode creator tool. It did a good enough job on first try of taking these resources and building a site.

It took a few more iterations to get chapter metadata into the right format, but now I have a self-hosted podcast feed and website.

Its very basic and very ugly but works well.

Impressions of Claude Code

I enjoyed using Claude Code. When it went wrong, it was normally because my instructions were not clear enough or could be interpreted in several different ways. Mistakes were easy to correct on a followup prompt.

Sometimes Claude did get stuck on a problem though. This happened a few times, mainly when trying to implement slightly more complex UI features. For example, Claude could not implement a drag-and drop UI for re-ordering clips in the episode creator. Nor could it implement the UI to draw a square crop-box on top of an screenshot. In both situations I worked around the challenge by asking Claude to implement a simpler version of the feature.

I think I could have built both tools myself, but Claude saved enough time to make me want to build them in the first place.

However, I didn’t have much success asking Claude Code to do anything that I didn’t already know how to do. I had to give up on one feature. I wanted the chapters of each episode to display nicely in podcast apps, and include thumbnail images too. I really appreciate when well-produced podcasts like the Stratechery Update do this.

It turns out that most podcast players require the chapter information and images to be encoded directly into the MP3 file using ID3 tags. Most of the podcasts I listen to probably use Marco Arment’s Forecast app to manually add these chapter titles and images to their MP3 files.

I asked Claude to add a feature to my episode creator tool that automates this process for me. When Claude failed, I was at a loss and I didn’t have the appetite to research the solution myself. Which is fine.