Let’s be honest: how many side projects have you started this year? And how many have you shipped?

If your answer to the first is a lot and the second is “a few… maybe,” you are not lazy, and you are not failing. You are experiencing something the AI coding era made much worse: project explosion. The dip in how easy it is to start a project has not been matched by a drop in how hard it is to maintain the ones you already have.

This is a guide to understanding why it happens — and the small, concrete changes that break the cycle.


The real problem isn’t motivation. It’s the cost of returning.

Here’s what actually happens with an unfinished side project. You don’t abandon it all at once. You abandon it at the moment of re-entry — the instant you open the folder and realize you have to reload all the context.

A friend of mine calls it the re-entry tax: the overhead of remembering what the project does, which editor it needs, what command runs it, and where you left off. When that tax exceeds the fun, the project stays closed.

More projects launched in a weekend = more re-entry tax waiting for you = more abandonments. The AI tools that made starting easier did nothing to lower re-entry. They arguably raised it, because now your Downloads folder fills with scaffolded apps you never hooked back into.


The failure loop

It looks like this:

  1. Excitement — you get an idea, scaffold it in five minutes.
  2. Momentum dip — real work begins, the novelty fades.
  3. New idea — something shinier appears, re-entry tax on the old one is unappealing.
  4. Repeat.

The loop isn’t powered by bad habits alone. It’s powered by two structural problems most guides ignore:

  • Starting is cheap, returning is expensive. Everything optimizes the former, nothing the latter.
  • Unfinished projects pile up as guilt, making re-entry feel even heavier, so it gets postponed further.

The fix has to address returning and closing, not just starting.


3 changes that actually break the cycle

1. Cap your “active” list — hard

Decide a number of actively maintained projects you can honestly sustain. For most solo developers with a day job, it’s one to three.

Everything else goes into a folder with a different name. Not “deleted,” not “failure” — archive. Give abandoned projects a dignified retirement instead of leaving them as guilt in ~/Projects. You are allowed to say: “This was a good idea, and I chose to stop it.”

This single reframe removes the unconscious burden that makes starting anything feel heavy again.

2. Lower the re-entry tax on the projects you keep

For the few projects you keep active, make returning almost free:

  • A small README.md with ## run and ## next (the command + one line about where you left off).
  • A launch flow that doesn’t make you search for the folder and type the run command from memory.

This is the unglamorous but real fix. If re-entry takes one click instead of five steps, you’ll actually go back.

That’s the idea behind Dev WorkDir — a macOS launcher that scans your project folders and runs them with a double-click, so the friction between “I want to code” and “I’m running the project” disappears.

3. Close loops instead of starting more

Before starting a new project, ask: what am I finishing this month?

It’s tempting to treat ideas as infinite. But a new scaffold is not a new capability — it’s a new tax. Capture the idea in a file, tag it “later,” and go back to the thing you’re already mid-way through. Ship one thing, then open the next.


What “succeeding” looks like

The metric is not “how many projects did I launch.” It’s how many did I close — shipped, or consciously archived.

My own .git folder breathes easier since I stopped pretending every half-built app needed to live in my working tree. A project graveyard you’ve chosen to archive is fine. A pile of half-open tabs that haunts you is not.

If you want a system for the actual folder structure and per-project todos, I wrote the full walkthrough here: how to organize side projects.


The one-line takeaway

You don’t have a motivation problem. You have a re-entry and closure problem — and both are fixable with a three-folder structure, a one-click launcher, and the courage to archive what you’re not shipping.

Start small: pick your two most important projects, archive everything else, and make re-entry one click. On macOS, Dev WorkDir makes that last part automatic.