The Decision Framework

Sometimes things get messy. Code gets tangled, features conflict, or you realize you want something completely different. Knowing when to push through vs. start fresh is a critical skill.

Keep Iterating When...

  • The core works, you're just refining — Basic functionality is there, you're adding polish
  • You have meaningful progress — 50%+ of what you want is working
  • The issue is isolated — One specific thing is broken, rest is fine
  • You understand what's wrong — You can describe the problem clearly

Start Fresh When...

  • The foundation is wrong — You chose the wrong framework or approach
  • Requirements changed drastically — You want something fundamentally different
  • Too many intertwined bugs — Fixing one thing breaks another
  • You've been stuck for 30+ minutes — Time to try a different approach
  • Claude seems confused — Responses are inconsistent or contradictory

The "Soft Restart"

Sometimes you don't need to delete everything — you can start a fresh Claude session while keeping your good code:

  1. 1. Save the files that are working well
  2. 2. Note what you like about the current implementation
  3. 3. Exit Claude Code (type /exit)
  4. 4. Start a new Claude Code session
  5. 5. Explain what you're building with fresh context
  6. 6. Ask Claude to incorporate the good parts from existing files

The Clean Slate

When you need to truly start over:

$ mkdir my-project-v2
$ cd my-project-v2
$ claude

Starting in a new folder gives you a completely clean slate with no baggage.

💡 The PM Mindset

Think of each attempt as a sprint. Sometimes you learn more from a failed sprint than a successful one. The knowledge of what didn't work makes version 2 much better.