I pulled my git history in July 2026 and counted 48 distinct project slugs touched in 47 days. The core product, ActionMode, had been rebuilt five times across 19 months. Total revenue from all of it: zero. I’m writing this down because the numbers are too embarrassing to file quietly and too useful to waste.

What the pattern actually looks like

It doesn’t feel like avoidance while it’s happening. It feels like momentum.

You open a new project because the current one feels stuck. You tell yourself this time is different - the idea is cleaner, the scope is tighter, you know what you’re doing now. Three days later you hit the same friction in a new disguise. So you open another folder. Repeat until the git history looks like a firework display and the revenue chart stays flat.

Every rebuild of ActionMode felt like progress. A cleaner architecture. A better data model. A sharper value proposition. None of them produced a paying user. The work was real. The forward motion was an illusion.

The diagnosis I kept avoiding

I spent a long time blaming scope creep. Then bad estimation. Then the market not being ready. None of those were wrong exactly, but none were the root cause either.

The root cause was simpler and more embarrassing: there was no durable feedback loop forcing me to confront the data. Without one, every new idea looked equally urgent. A half-built thing sitting in a folder makes no noise. It doesn’t chase you. It just waits while you start something else.

Context switching has a cost that most people quote as a productivity stat. The real cost isn’t the 20 minutes it takes to reload context. Its the compounding cost of never finishing: you never find out if the thing works, so you never update your model of what works, so the next idea is built on the same unexamined assumptions as the last one. You get faster at starting and no better at shipping.

What I actually changed

The fix wasn’t discipline. I’d tried discipline. It doesn’t work when the measurement is manual, because manual measurement is the first thing you drop when you’re excited about a new idea.

I made the measurement automatic.

Evidence miners now run on a schedule. A weekly retro pulls the numbers without me asking: which project slugs appeared this week, which ones have appeared before, what moved, what didn’t. Then it surfaces the repeated slugs and forces an explicit decision on each one.

Not “I should probably think about that.” An explicit, logged decision: ship, park, or kill.

That last part matters more than the data collection. Silent restarts are the problem. A project you quietly shelve and quietly reopen three weeks later never gets reviewed. It just accumulates. The automated retro removes the silence. You have to say out loud what you’re doing with the thing, or the system keeps asking.

What this has to do with your business

If you run a small team and you’re tempted by every useful-looking tool or workflow, you already know this pattern. The graveyard of half-configured automations, half-migrated spreadsheets, and half-launched campaigns is real and it costs more than the time spent on them - it costs the compounding value of the thing that actually would have worked if you’d finished it.

The fix is the same at any scale. You need:

  • An explicit finish line defined before you start, not discovered halfway through
  • A scorecard that runs whether you remember to check it or not
  • A forcing function that makes you say “ship, park, or kill” on a schedule

None of that requires AI. A shared doc reviewed every Friday does the job. But if the review keeps getting skipped, automating it is a reasonable next step - and its a small build.

The honest takeaway

The answer isn’t “stop starting new things.” New things are fine. The problem is starting without a finish line and without a scorecard that cant be ignored.

When the measurement is private and manual, the numbers lie to you by omission. You remember the promising starts and forget the abandoned middles. The git history doesn’t forget. The revenue chart doesn’t forget.

I’m not proud of the 48 projects or the five rebuilds. I’m grateful the data finally made it impossible to look away.

If you’re building something and it keeps getting restarted, the problem probably isn’t the idea. Come and talk about what a feedback loop for your work could actually look like.