I used to tell myself one more feature was nothing.

Just one more button. One more filter. One more settings page. It always felt small in the moment, and then a week later I was staring at a project that had somehow turned into a pile of half-finished ideas.

The annoying part is that the feature itself usually wasn’t the problem. It was the ripple effect. More state. More edge cases. More UI. More tests. More stuff to keep in my head.


The feature is rarely the feature

When I say yes to one more thing, I’m usually not saying yes to one thing. I’m saying yes to the follow-up work that comes with it.

A simple export button turns into format choices, loading states, file naming, error handling, and maybe a help note because nobody knows where the file went. A tiny dashboard widget turns into API work, caching, layout fixes, and a new bug I didn’t plan for.

That’s the part I used to ignore. I saw the visible feature, not the hidden cost.


My real mistake was confusing momentum with progress

A lot of side projects feel exciting right before they get bloated. You keep adding things because the app still feels alive. It feels like momentum. It feels productive.

But if each new thing adds just a little more friction, the project slowly gets heavier. Startup time gets longer. Decisions get harder. I stop opening it because it feels like work instead of something I enjoy.

That is usually the point where the project starts dying.


I ask one boring question now

Before I add anything, I ask: does this make the thing easier to use, or just bigger?

If it only makes it bigger, I usually skip it. Not forever. Just for now.

That one question saves me from building features that sound good in my head but don’t help the actual project. Most of the time I don’t need more surface area. I need the core thing to be clearer.


What I do instead

I try to keep the first version embarrassingly small.

If a feature doesn’t help me use the thing sooner, I leave it out. If it’s a nice idea but not essential, I write it down and move on. If I’m tempted to build a whole new section for a tiny improvement, that’s usually my cue to stop.

The best side projects I’ve made got better because I kept removing things from the plan, not adding them.


The hard part is saying no while it still feels easy

It’s easy to cut scope after a project gets messy. The real skill is cutting it before it does.

That’s what I try to do now. I want the first version to be small enough that I can actually finish it, use it, and learn from it. A smaller project that ships beats a bigger one that just sits there looking promising.


Keep the thing small enough to care about

One more feature sounds harmless until it quietly turns into ten more decisions. I don’t fight that anymore. I just try to notice it early and stop there.

A side project should still feel light enough that you want to open it tomorrow. If it doesn’t, you’ve probably added too much.