Dinostroids, my first vibe-coded software project, is live.
The last time I wrote any meaningful amount of production software was in 1990. At the time, I was running a software consulting company with my partner, Dave Jilk. We’d reached the point where, as we grew, he became responsible for all the software, and I handled all the network integration stuff we had to do for our clients. Every now and then, I’d have to do maintenance on something I had written in the past, but it was pretty minimal.
After we sold Feld Technologies in 1993, my job quickly changed, and within a year, I was deep in a bunch of M&A stuff and making angel investments with my own money. As the commercial Internet began, I’d fantasize about writing software, but I had no time to do anything other than play around with Perl, and then PHP, and then Ruby on Rails, and … well, you get the idea. I knew enough HTML and CSS to poke around, but I wasn’t doing anything that was anywhere near production.
As the last 30 years have passed, I’ve learned a few new programming languages, including Python (I’m reasonably proficient) and Clojure. But I never learned JavaScript, and everything I did was baby steps beyond “Hello World.” So, my professional coding days ended with Basic+Btrieve, DataFlex, and Pascal.
Over the 2024 holiday break, I started playing around with Cursor after several people, including Quinn McIntyre (my partner Ryan’s amazing kid), told me about it. I was comfortable enough with VS Code, so I just dove in. I started working on a Personal Health Manager project (PHM) using Python, Django, Render, and Claude 3.5. I made some progress, but the holidays ended, and I got busy again.
About a month ago, I started working on Dinostroids. All of a sudden, everyone was talking about this new vibe coding thing, and while I planned to do more on PHM, I thought it would be fun to dive into something completely different. I spent a weekend starting from scratch with Cursor, JavaScript, Vercel, and Claude 3.7 Sonnet. By the end of the weekend, I had a functioning Dinostroids game working.
I’ve always learned by doing. When I was in my teens and 20s, I loved writing software. Over the past twenty years, blogging and subsequently writing books (Give First: The Power of Mentorship is my ninth book) have filled this hole for me. But I missed coding a lot.
If you look at my Goodreads page, you’ll notice that my reading pace has slowed significantly in the last 45 days. Instead of reading in the evenings, I’m vibe coding.
It blows my mind that I can create a functional game like Dinostroids without writing a single line of JS. Sure – it’s a pretty simple game. Still, a lot is going on, and working on it using the agent in Cursor, learning how to prompt it effectively, reading a lot of the code (I have “reading proficiency with JS now), getting a mobile browser working without generating absurd code bloat, and figuring out an effective workflow with Cursor, Github, and Vercel has been a ton of fun.
In the video game of software development, I feel like I’m at Level 4 now of an infinite level game after being stuck at Level 2 for 30 years.
Go play Dinostroids and see if you can get on the leaderboard. I expect GEG will be motivated to get going again after losing his fifth-place spot.
Big thanks to the McIntyres (Quinn and Ryan), my brother Daniel, Sam Ritchie, and a bunch of people from my college society (ADP) for being testers and offering feature suggestions to be implemented.