Getting Started with Vibe Coding
I’ve always been interested in programming, and I started by learning HTML back in high school. I later dabbled in Python, but my projects rarely went beyond a few lines of code. My approach to coding always followed a familiar pattern: I’d become fixated on a particular resource, like an O’Reilly book or an online course, and get started with great enthusiasm, but as I realized I was months or years away from creating anything remotely useful, I’d give up.
Throwing Down the Gauntlet
That changed in 2024 when I became frustrated with WordPress, which I was using for my personal website. In a fit, I threw my website’s content and a screenshot into Claude 3.5 Sonnet and asked the AI to replicate my site with HTML, CSS, and JavaScript. To my amazement, Claude 3.5 generated a functional website. It wasn’t perfect, but after a couple of hours of working with Claude, I wound up with a website I liked even better than its WordPress predecessor.
My Approach to Vibe Coding
My approach was exactly what Karpathy described: I didn’t read the code, nor did I try to understand it. That aside, I just told Claude what to do, copy-and-pasted the results in VSCode, saved the file, and reloaded my browser to see what changed. And it worked.
The Fun Factor
But the most important part? It was fun! Fun enough that I’ve since tried my hand at several other coding projects. I made an online tool to track initiative and roll dice when DMing tabletop roleplaying games, I made another tool to simplify rolling dice in Battletech, and I’m currently making a puzzle game for the Pico-8 virtual game console.
- HTML/JavaScript: Online tool for tracking initiative and roll dice in tabletop roleplaying games
- Python: Tool to simplify rolling dice in Battletech
- Pico-8: Puzzle game
The Benefits of Vibe Coding
Notably, all three projects were in different programming languages—HTML/JavaScript, Python, and Lua—none of which I’m even remotely proficient with. I’ve also dabbled in some C#, as I started to make the puzzle game in Unity before deciding it was overbuilt for my needs and swapping to Pico-8.
| Programming Language | Description of Project | My Level of Proficiency |
|---|---|---|
| HTML/JavaScript | Online tool for tracking initiative and roll dice in tabletop roleplaying games | Never proficient |
| Python | Tool to simplify rolling dice in Battletech | Never proficient |
| Pico-8 | Puzzle game | Never proficient |
Lessons Learned
My experience with vibe coding has taught me a few lessons. One of them is that the code generated by AI is often functional but not always elegant. Another is that it takes time to learn and develop the skills to work with AI-generated code. Challenges and Pitfalls
The risks and pitfalls of vibe coding include the potential for AI-generated code to contain flaws that aren’t immediately obvious. This raises an obvious question: how does a know-nothing programmer spot bugs and security flaws in AI-generated code?
“AI can write code, but it can’t replace the human judgment and expertise needed to write good code.” – Geoffrey Hinton
Conclusion
While vibe coding is not without its risks and pitfalls, I believe it has the potential to democratize access to programming. By providing a fun and accessible way to learn and create code, vibe coding could open up new possibilities for people who are interested in programming but lack the patience or expertise to get started. The Future of Vibe Coding
As I look to the future, I’m excited to see how vibe coding will continue to evolve and improve. I believe that it will become more sophisticated and capable, allowing users to create complex and sophisticated projects with ease. The Democratization of Programming
In a strange way, vibe coding reminds me of the circumstances from decades ago that paved the way for me to become a tech journalist. I grew up in a small midwestern town, and my high school was so small that we didn’t even have a school newspaper. But I lucked out, and I graduated right when the blogosphere exploded and social media took over the internet. Suddenly, formal credentials and an industry-specific degree weren’t necessary. So, I started writing—and eventually, publications started paying me for it. I believe that vibe coding could have a similar impact on the programming landscape. Forget formal training. With AI assistance, people who are interested in programming don’t even need informal training. Anyone who knows their way around a laptop can ask ChatGPT about the tools they need to get started, how to install them, and generate the code they need to get the first version of their project up and running. These people will make mistakes. A lot of the code generated will be bad, or at least inelegant. People will lose projects because they encounter a bug they can’t fix. The AI-generated code in my own projects is enough to make a senior software engineer go blind, I’m sure. But if it opens programming a bit wider to people who otherwise lack the patience to spend six months reading an O’Reilly tome just to spin up a halfway decent Python program, well, that seems like a win. Further reading: I spent $200/mo on ChatGPT Pro so you don’t have to. Here’s what I found and whether it’s worth it
Getting Started with Vibe Coding
Benefits of Vibe Coding
The benefits of vibe coding include:
- The ability to create functional code with minimal effort
- The potential to democratize access to programming
- The possibility of creating complex and sophisticated projects with ease
Lessons Learned
The benefits of vibe coding include:
- Creating functional code
- Minimal effort
- Potential to democratize access to programming
- Opening up new possibilities for people who are interested in programming
- Possibility of creating complex and sophisticated projects
- Ease of use
Challenges and Pitfalls
The challenges and pitfalls of vibe coding include:
- Flaws in AI-generated code
- Difficulty in spotting bugs and security flaws
- Potential for mistakes and lost projects
The Future of Vibe Coding
As I look to the future, I’m excited to see how vibe coding will continue to evolve and improve.
The Benefits of Vibe Coding
The Benefits of Vibe Coding
The benefits of vibe coding include:
- Creating functional code
- Potential to democratize access to programming
- Possibility of creating complex and sophisticated projects
The Challenges of Vibe Coding
The challenges of vibe coding include:
- Flaws in AI-generated code
- Difficulty in spotting bugs and security flaws
- Potential for mistakes and lost projects
The Future of Vibe Coding
The future of vibe coding includes:
- Improved functionality and ease of use
- Possibility of creating complex and sophisticated projects
- Democratization of programming
The Democratization of Programming
In a strange way, vibe coding reminds me of the circumstances from decades ago that paved the way for me to become a tech journalist.
My Experience with Vibe Coding
Lessons Learned
My experience with vibe coding has taught me a few lessons.
Challenges and Pitfalls
The challenges and pitfalls of vibe coding include:
- Flaws in AI-generated code
- Difficulty in spotting bugs and security flaws
- Potential for mistakes and lost projects
“AI can write code, but it can’t replace the human judgment and expertise needed to write good code.” – Geoffrey Hinton
Conclusion
While vibe coding is not without its risks and pitfalls, I believe it has the potential to democratize access to programming.

