After building 40+ projects and winning four hackathons, here’s everything I’ve learned about fixing things when they break.


Isolate the Problem

Before you start trying fixes, figure out exactly where things are breaking.

Does the bug happen on every page, or just one?

Does it happen for all users, or just some?

Did it work before, and if so, what changed?

Narrowing down the problem makes everything else so much easier. The more specific you can get about what’s actually broken, the faster you’ll fix it.

Check the Logs

Once you know where to look, check your logs.

Console logs in your browser (right click, inspect, console tab) will show you JavaScript errors.

Edge function logs in your backend (Supabase, Convex, etc.) will show you server-side errors.

Error messages in your vibe coding tool’s interface will often point you directly to the problem.

I cannot stress this enough: read the actual error message. I know it looks intimidating at first, but most error messages tell you exactly what went wrong and where.

Ask for More Detailed Logging

Here’s something I wish I’d learned earlier: you can ask your vibe coding tool for more detailed logging. Your tool will often suggest this after you’ve been stuck in an error loop for a while, but you can also be proactive about it.

When you’re starting a new feature or working on something complex, ask the tool to add detailed logging from the start. It makes debugging so much faster when you can actually see what’s happening at each step. Don’t wait until something breaks to wish you had more visibility.

Use Your Tool’s Built-In Chat

Most vibe coding tools have a chat or discussion feature built right in. Use it! Paste the error, describe what you were trying to do, and ask what happened. The tool already has context about your project, which makes it way more effective than starting fresh somewhere else.

I’ve found that the built-in chat is usually my fastest path to a fix for simple bugs.

When That Doesn’t Work, Go to an AI Chat

Sometimes the built-in chat can’t figure it out. That’s when I copy my error logs, paste them into ChatGPT or Anthropic Claude or Gemini, and start a conversation.

But here’s the key: don’t just ask “fix this.” Instead, ask “what is happening here and why?” Understanding the bug helps you avoid it next time. It also helps you catch when the AI gives you a fix that doesn’t actually make sense.

I’ve learned so much about how things actually work just by taking the time to understand my bugs instead of blindly accepting fixes.

Read the Documentation

If you’re using an API or integration (Supabase, Stripe, whatever), and something isn’t working, go read their docs. Seriously. The answer is usually right there.

Most vibe coding tools can also help you find the relevant documentation if you ask.

Check Your Data

A lot of bugs come down to data issues. Maybe a field is empty when it shouldn’t be. Maybe the data type is wrong. Maybe Row Level Security is blocking something it shouldn’t (or not blocking something it should).

If your app has users and a database, always double check that RLS is set up correctly. I’ve seen so many bugs that came down to permissions issues.

Use GitHub as a Safety Net

This is less about debugging and more about making debugging less scary: always sync your projects to GitHub.

If you break something badly, you can roll back to a previous version. If you want to try a risky fix, you can create a branch first. Version control is your safety net, and it’s saved me more times than I can count.

Take a Break

I’m serious! Some of my worst debugging spirals have happened because I refused to step away. You start making changes without thinking, introducing new bugs on top of old ones, and suddenly everything is worse.

Walk away. Get water. Come back in 20 minutes. The bug will still be there, but you’ll see it with fresh eyes.

Ask for Help

The vibe coding community is incredibly friendly. If you’ve tried everything and you’re still stuck, post about it! Describe what you’re building, what’s breaking, and what you’ve already tried. Someone has probably seen the same issue before.

My Debugging Checklist

When something breaks, I go through this in order:

  1. Isolate the problem (where exactly is it breaking?)
  2. Read the error message carefully
  3. Check console logs and edge function logs
  4. Ask for more detailed logging if needed
  5. Use the built-in chat in my vibe coding tool
  6. If stuck, paste logs into ChatGPT or Anthropic Claude or Gemini and ask what’s happening
  7. Check the documentation for any APIs or integrations involved
  8. Check the data (is something empty, wrong type, or blocked by RLS?)
  9. If I’m spiraling, take a break and come back fresh
  10. Ask the community for help

Debugging Is Just Part of Building

The more I’ve built, the less scary debugging has become. It’s not a sign that you’re bad at this. It’s just part of the process. Every bug you fix teaches you something, and eventually you start recognizing patterns. You’ll see an error and think “oh, I’ve seen this before” and know exactly what to do.

What’s your debugging process like? I’m always looking for new tricks!