'Vibe coding' a port of my Python 'IMDb enhanced search' application to Go, using Claude
So I spent a little time “vibe coding” a port of my old “custom film finder” (which uses the Internet Movie Database’s (IMDb) generous free datasets) from Python to Go, using Claude. I wanted to see what the hype was all about. I’m left lukewarm.
Let’s start with the good:
- It was cool to be able to give it a GitHub URL of the original repository and have it download it and parse it on its own. I didn’t need to send the raw source files.
- It ultimately saved me a lot of time.
As for the not-so-good:
- It ignored several key features of the original application that were explicitly important and obvious from the source.
- It changed the interface of the application, making it much less user-friendly, and exposing a new class of bugs.
- Some of the unit tests it provided did not pass.
- It lumped what were several source files/modules all into one main.go file.
- It might even be MORE sycophantic than ChatGPT. I hate how LLMs (Large language models) are so eager to please and coddle.
- It ignored several important errors that were worth surfacing and examining.
- I ran out of credits quickly. I never have this issue with free-tier ChatGPT.
Ultimately, I had to rework the code on my own to get it to a satisfactory place. I am seriously skeptical of developers who are so hyped on Claude that they think you can develop applications in minutes without needing hours of code-review and rework.
I am a frequent user of LLMs for coding, but I think remaining vigilant and not jumping on the hype train is key. These are powerful tools that are not magical and require careful usage.
To conclude, please enjoy the ported repository on GitHub.