This is part of a series of blog posts that stemmed from my first experiences with “vibe coding”. For more on what I did and where you can find the rest of the posts, please refer to the first post.
We all know that pair programming makes for higher quality code. When someone is sitting next to you, trying to understand what you’re doing and providing real-time feedback it makes for higher quality output. I also hate it. My code is never great the first time and I like to try and see if something works in a sloppy way and then go back and fix it. This always made me very self-conscious when I was pair programming.
I found when I was developing with Claude that I got some of the advantages of pair programming without the uncomfortable self-consciousness… and critically for businesses, without the expense of an idle second developer. I found myself adding extra comments to my code and trying to name variables better because I knew that Claude would be more helpful if it understood what I had written.
Another great example of this is the commit messages! When you ask Claude to do a commit it first reads through all the changes that have been made and (whether it made the change or you did), briefly summarizes them, and tries to explain why you made the changes. On personal projects my git commit messages were often “stuff”, and this certainly makes it easier to read (also for Claude to understand when you ask it to look through branches and old versions).
Eventually, I even started to ask Claude when I was done with a particular module if it could find any ways to improve my code. Not everything it suggested was necessary or even accurate, but I found myself adopting the proposals more often than not and my codebase is certainly healthier then it was before I started using AI Assisted coding.
AI Assisted Coding gets a bad rep (deservedly) for some of the technical debt and inelegant code that it produces. This is definitely true if you let it do your work for you without supervision. However, if you use it as a sort of pair programming buddy and occasionally ask it how to help improve your code quality, there’s no reason that it shouldn’t improve code quality overall.
Here’s a quick example of some of the helpful suggestions it makes:
And here’s an example of a commit message (all of which is accurate and I didn’t provide anything, I just said… “commit and push a new version.”):
