Vibe coding notes to get unstuck
Tools, hacks and insights to get you unstuck while vibe coding.
I genuinely believe that developers who learn how to vibe code properly will absolutely dominate everyone else. I’ve seen so many friends hit the same wall: their files balloon to 500+ lines, functions are duplicated everywhere, and fixing one thing just breaks another. Tools like Cursor or Claude Code become almost useless at that point.
The truth is, most of these problems are avoidable if you follow a few simple strategies. Whether you’re starting a new project or building on top of an existing repo, here’s how to vibe code without getting stuck — with some practical prompt examples along the way.
When you’re starting something from scratch:
Plan before you code. Decide on the architecture, figure out any external tools or dependencies, and think about how your project will be structured.
🧠 Prompt example:
“Before you write any code, propose a high-level architecture for a Next.js app with a Supabase backend and user authentication. Outline the main folders, key components, and data flow. Be brutally honest if anything seems overcomplicated.”
Check model strengths. Make sure your tech stack is something the AI is well-trained on. (e.g. Next.js is usually strong, Swift less so.) If it’s not, give the AI extra context.
Generate developer guides. Use tools like Gemini 2.5 Deep Research to create docs like “Modern Swift Best Practices” and include them in your repo. The AI will use them as reference.
/best-practices
Pull updated documentation. Tools like Context7 ensure the AI has the latest docs, which prevents mistakes caused by outdated assumptions.
🧠 Prompt example:
“Here’s the latest Supabase documentation. As you write code, always refer to it instead of relying on prior assumptions. Warn me if any implementation details differ from your training data.”
Good workflow habits make a huge difference:
Keep files small. Stay under ~500 lines and split code into smaller, reusable modules (features/, components/).
Make the AI explain itself. Always ask for a detailed plan before it writes anything.
🧠 Prompt example:
“Before coding, explain in detail what changes you plan to make, which files will be affected, and how this connects to the rest of the project. Do not write any code until I confirm.”
Use multiple agents. Run Cursor and Cloud Code together so they review each other’s output. Use tools like CodeRabbit for GitHub reviews.
🧠 Prompt example:
“Review the following code as if you were a senior engineer doing a PR. Point out redundant logic, missed abstractions, or places where existing functions could be reused.”
Commit frequently. Small, regular commits make it easier to roll back when something breaks.
If you’re building on top of an existing open-source project, add a few extra steps:
Force the AI to deeply understand the codebase. Ask it to add comments explaining the code as much as possible. Then ask it to generate a README explaining how everything works. The AI will find it easier to generate the README if you follow this order.
🧠 Prompt examples:
“Go through this repo and comment every function in as much detail as possible. Explain what it does, what inputs it expects, and how it connects to other parts of the code.”
“Now that you’ve commented the codebase, generate a comprehensive README that explains how the modules fit together, how data flows, and how someone could extend the project.”
Map the system. Regularly prompt it to explain how files connect to each other or generate a diagram of dependencies. This reduces redundant code and makes scaling much easier. AI often duplicates functions across files and is bad at reusing what’s already there.
🧠 Prompt example:
“List every function across the codebase that has overlapping or similar logic. Suggest how we can consolidate them into a shared utility or service module.”
“Generate a high-level diagram of how the files depend on each other and which parts of the system are most tightly coupled.”
At the end of the day, vibe coding is about being intentional. Go step by step. Understand what you’re building and why. Give the AI the right context, make it explain itself, and keep your code modular. If you do that, you’ll spend way less time debugging and way more time shipping, and that’s what will set you apart from the average developer.






