I’ve been vibe coding now for about a year, using all different methods and tools. I started with OpenWeb UI hooked up to LLama3.1 70b through Scaleways and that worked ok. Then moved to Gemini on the web, then Antigravity, Claude, Cursor, OpenCode and PI. Here’s what I’ve learned.
Clear Requirements
This sounds like a ’no-brainer’ to any developer but its just so easy to say “Hey X build me Y!” You then spend hours going around in circles. This is much the way software development works in the real world. Many times your customers asking for one thing but really want/need something completely different. Most tools now have a Plan mode and it helps to spend a lot of time refining those requirements.
Create a to-do list and have the agent step through it
Again, sounds simple but while still in the Plan mode have it generate a To-Do List. Sometimes there are multiple phases in my lists and Ill have the model develop all of Phase 1 before testing and commiting and other times I have it go item by item, testing (if possible), marking done and then continuing on. I’ve found this to be a very reliable way to get what you want. To me these are still Junior Engineers and you have to think about how you would manage them. Step by step!
Models matter somewhat, but it’s the Harness that makes the difference
I’ve used web chats, Claude Code, Gemini CLI, Antigravity, Cursor, OpenCode, and Pi. So far I’ve liked Cursor and OpenCode the best. I know Cursor is just a modified VS Code, but it works really well in my workflow at work… unfortunately everyone wanted to go to Claude and so no more Cursor for me. Personally I use OpenCode and I have really found it to be very thorough in it’s planning and developement.
Some of my vibe-coded apps:
Flying Goose Games
My kids and I created this last summer to have something to play while sitting out to dinner and waiting on our food. It’s been a lot of fun and we have added a few new games over the year. Our problem is that we’ve played it so much we know the answers to the questions by heart!
It’s currently running on Cloudflare Pages.
BentoMeteo
I wanted a simple, fast, and clean weather app that would let me use the OpenMeteo API. Another weather app? I know, but I use it daily and its quite accurate. The biggest part is that all my favorite weather apps have gone from cool grassroots apps to being bought up by the bigger weather apps and now are just bloated with adds.
This runs as a Cloudflare Worker and isn’t 100%. I refactored it from running in Docker to Workers earlier in the year and things are a bit broken.
Ones of note that haven’t quite stuck around:
- WhatsApp Scheduler - I spent a week over Christmas making an automated Poll creation tool for our Padel group that would create a weekly poll, nudge users, look at the best weather days, etc. It was cool but using the unofficial Whatsapp APIs lead to broken stuff and it needed a lot of handholding.
- Options Trader - I spent quite a bit of time working on an options trading bot using the Alpaca API but there were a lot of challenges when the spreads wouldn’t be available and the app would have to figure out why the trade didn’t execute. There were other issues and honestly I just joined a hedge fund that did the trading for me.. There’s a reason financial firms spend big money on algorithmic trading!
- Stock Trader - This one is similar to the above but would perform technical trade analysis on stocks you would specify. It then figured out the buy, sell, and stop-losses. This was my first foray into ML models as I trained the models on the market that were used to determine if the trade had potential, or not. I want to give this more time, but again I also pay people to invest for me and they are doing a good job!
Vibe-Coding has really opened the doors for ideas to go to reality in a short amount of time, though that has other challenges. Ill post about those next time!