How I Vibe Code

How I Vibe Code
Photo by Jaimy de Hon / Unsplash

I just vibe coded this:

Statistics for reading Japanese
Hi friends! I just released my first ever web-dev project! There’s a tool called Game Sentence Miner which uses OCR to grab text from your screen, and it lets you look that text up in a dictionary. GitHub - bpwhelan/GameSentenceMiner: An All-in-One immersion toolkit for learning Languages through games

Thought I'd share how I vibe code with y'all

  1. I never vibe code unless I know about 80% of what I want to do. If I can't do it by hand, I learn enough until I can do it by hand
  2. I write a very detailed (500 words or so) prompt on exactly what I want, and I ask the AI to create an even more detailed plan
  3. I review that plan, ask the AI questions on it and make sure there is no stone unturned
  4. I get the AI to implement small feature sets. Instead of "do stats", I say something like "create a stats page that just grabs number of sentences" or something simple and slowly add more features after I'm happy
  5. I review the code, both with CoPilot AI (on github) and manually to make sure it looks okay. If I think it can be refactored, I ask the AI to refactor
  6. I continue doing this until the AI has coded everything I want

6.1. I change the code manually or add a small feature if I think it's faster than trying to explain what I want exactly

6.2. I test it manually, always. I never let the AI test and I write tests myself. So I spend very little time coding, but some time explaining and guiding the AI. I feel this helps a lot, instead of spending 2 weeks coding I now spend 1 day working and talking to an AI to build out a feature set