Things I leared while Vibe Coding

Hi there, I'm a Software developer and have been programming since 2010.
I came in contact with functional programming when I did my master's in computer mathematics. I learned functional programming using Lisp, Prolog and Mathematica. But then I found my perfect language in Elm and never looked back.
At my job, I work with Kotlin and Typescript, which work best by writing a hybrid of FP and OOP.
Ever since I started working, I use field notes to track my thoughts and discoveries. My blog contains the best parts of those notes.
I was using Gemini in the free version in Feburary 2026.
Keep everything in one file - don’t try to scale. The AI should only ever care about a single file (and should also only have access to one file at a time).
Keep the file under 500 lines of code - The AI will start to skip or change details if the file is too big. 500 loc seems to be the sweet spot, where it still has a full picture of the code.
Let the AI pick the tools - The AI picked React with JSX and Tailwind. The moment i tried to pivot, it started breaking and shoehorning everything back into the way it knows how to work.
Do small one-sentence increments - Go step by step, lead the AI along the way. The more you request at once, the more it will start doing things. Try to do as little as possible per iteration.
Check-in your promts as commit messages - Use Git. Read the diff after every increment (just to have a understanding of the codebase, not to actually change anything). Use the promt as your commit message - this will help you recreate similar results.
Imbrease the chaos - Don’t try to fix details, but look at the big picture. I noticed that the AI will fix the details on its own (at some point). Also details will constantly change - this is ok. Don’t have hard requirements but more general ideas.
Regularly restart the chat - You can undo simple changes, however the changes will stay in the chat history and the AI will sneakily add them back into your code. If you notice this happening, restart the chat. You might also generally restart the chat ever now and then to keep the context window clean.
Don't use AI for the last Mile - Don't try to vibe code a finished product. The AI stuggles with the details. The more you start polishing, the more it will break. If you like the results sofar, stop using AI and finish it on your own.



