Journal: 2025-12-01
The value of AI generated code
I read this blog post before it was flagged and removed from hackernews. In the post, the author shows how they solved a pain point in a completely new code (OCAML) repository using claude and GPT5, and how they felt incredibly productive, because they would not be able to do that before. I feel fairly similar, as this entire blog/computation platform might not exist without claude.
However, they posted (quoting) this:
Just last week, I wouldn’t have dreamed of implementing such a feature.
But a few days ago, I did exactly that.
This PR was entirely AI-generated over the course of 2–3 days. Can you tell?
The issue is, I can tell instantly. If this was supposed to be a proof that AI generated code is equivalent to human generated code and artisan code would be obsolete, it had the exact opposite effect on me! It in fact made me completely reevaulate my code and career.
The PR discussion got fairly heated and the blog author did themselves no favor at all by being inconsiderate all the way to the end. When a maintainer questioned a vibe coded author attribution, joelreymont responded with a AI generated copyright analysis. They might have verified the work themselves, but it feels incredibly low effort when you just see Executive Summary as a header of a giant post.
This quote is not winning the AI folks any sympathy.
>> Here's my question: why did the files that you submitted name Mark Shinwell as the author?
> Beats me. AI decided to do so and I didn't question it.
Long story short, the PR got closed and locked, which definitely undermined the original blog post conclusion of AI giving you superpowers. There was a meeker feature request as followup. If AI was so smart it would have not made a 13k line pull request. Maybe he can feed the entire comment thread to AI and let it point out moments they could've reacted better.
The blog post affected me deeply because I sympathised with it a lot, and I felt embarassed by the outcome and feedback from community. If I felt like A, and A was shown to be a complete fool, am I a fool too? Maybe I should go back to basic and learn how to do things properly.
Why should a maintainer care about vibe PRs?
For me, this goes is beyond understanding LLM and AI, it is the (highly romantiziced) act of writing and sharing software with other people, getting them excited enough to spend time learning it to understand and contribute code back.
Now, open source has is fair share of absurd toxicity, ideological flame wars, hero complex, and plain old bullshit. I enjoy the drama, but being a popular maintainer does mean you just deal with garbage most of the time. I would actually argue some vibe-PRs (not the OPs) are higher quality than than a humans first attempt. But from the blog post, they did not attempt to understand the code base before throwing Claude at it and opening a PR, expecting maintainers to thank them for their prompt skills. It seems to fix a pain point, and it is important to share the results, but it is completely alien to existing ways to collaborate (the maintainers review code before merging, and dumping huge PRs seems awful. I had to deal with those at work, and just rubber stamp claude PRs for CLI scripts as long as they don't touch pipeline code. There is no learning from either side to be had there.
It takes away a huge aspect of collaboration and communication (but, also, a sense of power, since anyone can vibe change the code instantly). The PR opener clearly has learned nothing from the PR, and any feedback given is just used as a prompt, what is the value of talking to them?
Why should future developers care about LifeLab?
LifeLab is fully vibecoded from scratch. I have personally written about 20 lines of code. I reviewed the authentication stuff to best of my ability, and simplifed the backend to a POST-request architecture to make it easy to reason about, and I have read 0 of the frontend code in the entirety of 1000 commits I worked on it. I reviewed it a lot and I did feel like a senior engineer just like the blog post. Like I know what I'm doing and I am just giving direction to juniors.
I fully intend to open source it (pending employer approvals) with no strings attached and I am fairly excited to share it since it solves some pain points for me and I hope it solves them for others. It is an exploration into concepts I always wanted to pursue and I am happy it allows me to write blog posts about.
However, if even I have not fully written the software, would I be considered a maintainer? I have some weak opinions about how code should be like, but I have not designed this from the beginning, how can I even ask people to help maintaing this in the future? If another person opens a vibe generated PR, should I be offended for slop or grateful they spent their claude tokens to improve my claude tokens? Do I get reputation and bragging rights for vibe coding an entire system, or do I get scorn and disdain?
After reading the blog post, I felt even the worst, awful code public repos in before-AI era had higher human value than all AI-gen fancy react webapps of today, because of the effort and genuine learning attempts.
Pragmatism vs ideology
Ideologically, I feel fairly ashamed of genAI code, because it masks lack of skill with "I am experienced developer, I know how things should look like, look at me telling these conditional text generators what to do". This might be due to ingrained gatekeeping and inflated sense of self worth from coding ability. Personally, I want to be so nerdy people can tell I am good at coding and use vim at first sight. I want to contribute open source code to projects I like to make them better, even if it's a tiny fix or documentation change.
Pragmatically, vibe coding created a product that would not have existed before, solving a real use case, and it is of significantly higher quality (both code correctness, best practices and UX design) than if I made it myself. I can develop faster and fix bug faster than ever before. I am actually really happy with this and I use it every day for a month. I don't need to agonize over correctness, the code I prompt into being looks very similar to what I imagine It should be like. I can change directions, refactor and pivot basically within 1 hour.
But this is still not me. I am not that good. And it stings, because it makes me feel like the tool in the PR. When my previous director called me a unicorn for being multi skilled, I was really proud. Now in AI era it seems everyone can be unicorn, but also no one can tell who is real unicorn or not.
Maybe AI code makes artisan code infinitely more important
I don't believe we can vibe code excellent and fast software like Zed. I do believe we can easily remix it once it exists, and have it do other things and still look incredible and be fast. I imagine the world split into vibe coded, unmaintained (or ... AI maintained?) repositories that solve exact problems but don't gather any dev community, and strict luddite repositories with anti AI banners that still push forward new concepts in software?
Supplementary hot tea
PR with AI policy to strictly ban the PR above with a banger quote
@joelreymont I am pretty sure that this PR is intended to ban your style of AI pull requests from this project.