My favorite part of living through this dramatic shift in software development from hand-written craft to AI Agents is the freedom it gives me to follow crazy ideas. The cost to produce software is lower. My token subscriptions can run down rabbit holes for me.
This week those token subscriptions are building an AI radio station I’m calling KLNK. I have a bunch of MP3s laying around from the early 2000s when I moved to streaming. MP3 playing software isn’t exactly a hot area, but I want to do something fun with them. I also don’t really know anything about building such a thing beyond the primacy of ffmpeg and a deep understanding of HTTP.
But Claude seems pretty confident it knows how to build this. So off we go.
My serious projects have always maintained one invariant: I know how the code works. It started with AI-based tab completion, that was easy to keep track of. Then it was talking to an AI in chat to build a function or file. Then it was an Agent that was free to create and edit files across the codebase. I still reviewed all the changes and provided feedback at the code level.
The dream of Vibe Coding is to give up that control. Just set the AI free and focus on functionality. If it works, who cares what the code looks like. So I continue to check back in with the latest models to see how far along we are on this dream.
It wasn’t today, not for this project. But it was close.
One issue was that the agent never really found a good feedback loop. It’s tricky for a command-line AI to verify a long-running radio station continues to play audio and the web interface stays in sync with the audio. So we had multiple rounds of reviewing logs, reporting the conditions (“Enter Sandman played for 30 seconds but then the UI updated to say Tool’s Parabola was playing”). The core of the application was rearchitected a few times, but it just couldn’t get it right.
At this point, I have a couple of options:
- Classic Engineer: Learn the codebase and use my own intuitions to start solving the problem.
- Executive: Pull the plug. This project was just a silly side quest. It didn’t work out.
- AI Engineer: Prompt different. Pull in more AIs looking at the problem from different directions.
I’ll let you know how it turns out.