on
I built a web application in two days and lost my ability to think
I shipped a gardening web application without writing a single line of code. I used agentic coding to create a full stack JavaScript web application to produce QR Codes for my labels. Two days later, I was thrilled it worked until I realized I had no idea how it worked.
I am not a great developer, I have big ideas, ADHD and a lot of abandoned projects. This is the Jimmy Software Development Lifecycle summarized:

In the last year, vibe coding has increased the Time to Abandonment (TTA). ArsTechnic attributes vibe coding to Andrej Karpathy which can be summarized as “I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works.” As a mediocre developer, I was drawn by the rise in LLMs. I vibe coded myself a gardening web application using Claude Desktop. This was before the GitHub integration into Claude Desktop. As you can imagine, it was painful trying to provide context via copying and pasting code snippets into a Claude Project but it produced something that worked and likely had very poor quality code. The application could track plants, seed suppliers, locations, and a full authentication system only to vanish after launch.
In Feb 24, 2025 released Claude 3.7 Sonnet and Claude Code which pulled me back into the vibe cycle. At this time, Claude Desktop had improved with the concept of Projects and GitHub to give Sonnet context around your code base. This was still a clunky experience because this required switching between Claude Desktop and the IDE. Anthropic dubbed Claude Code as their first “agentic coding tool.” Claude Code solved the clunky experience because I could just run a Claude Code in my terminal. Claude Code restarted the Jimmy Development Lifecycle which prompted (pun intended) redevelop my gardening app which easily created a working application. I was able to ship features fast, but the quality was unknown. The worst part is, I had no idea how anything worked.
I intended to use AI assisted coding to help me become a better developer but the dopamine hit of shipping a feature quickly was too great. I can write a prompt for a feature or I could write feature myself, debug, and finally ship which could take a couple of hours instead of a couple of minutes for my dopamine hit. I initially looked at every change, the diffs, to truly understand what was being written but all of that was getting in the way another dopamine hit. This was detrimental to my learning because I was not going through the the learning process, I was just watching code appear purely on vibes.
The paper, Protecting Human Cognition in the Age of AI articulates the disruptive nature of vibe coding on learning. A key section of the paper discusses the speed of how knowledge is acquired. Generative AI has provided society the ability to quickly present information and even preform research to provide synthesized information which bypasses the need to preform the research yourself. It is believed that the acceleration or total by passing of knowledge acquisition weakens our ability to think critically and learn. It makes sense that I know very little Golang even though I vibe coded two backends, over three days.
I read the paper thinking, “yup, checks out.” And then I went back to the Claude Code Terminal and told it to fix my 832 linting errors while I eat popcorn.
I still don’t know how my app works. But I’m starting to care again.