B Builderlog
Builderlog ·Shipping Mini-Apps ④ ·Jun 13, 2026 ·2 min read

Why My App Got Smaller Every Time I Added a Feature

#mini-apps#feature cuts#MVP#side project#product design

It was one thing at first. Show convenience-store buy-one-get-one deals at a glance. Then somewhere along the way, the thing I was building had notifications, favorites, spending stats, even expiry-date memos bolted on. Nobody asked me to do any of it.

Adding Feels Good

Every time I added a feature, I felt this odd little pride. That “oh, it can do this too?” rush. Stacking up code feels like progress. I added favorites thinking this’ll definitely make it more convenient, and I added notifications while rationalizing this’ll bump up the return rate.

The problem is I made every one of those calls alone. I never asked anyone who’d actually use it. I just decided the imaginary user in my head wanted it.

When the person deciding to add a feature is the same person who supposedly needs it, that's not validation — it's a monologue.

It Wasn’t Just the App That Got Heavy

As the codebase grew, I got scared to touch it. Mess with the favorites logic and notifications might break; tweak notifications and the stats aggregation might go sideways. Both of those actually happened, twice.

The bigger problem: I started putting off the launch. “I’ll ship once the stats feature is done” became “after I add expiry memos too.” I was running toward done, not toward shipped. But there’s no such thing as done for a mini-app.

More features, later launch time → planned +favorites +alerts +stats +expiry launch ???
Every feature you add, the “real launch date” quietly runs further to the right.

It should be ship first, finish later — not finish first, ship later. The more features pile up, the more that order flips.

Cutting Hurt Way More Than I Expected

In the end I cleaned house. Dropped the stats tab, dropped expiry memos, left notifications as a single on/off toggle. It stung to cut. Deleting code that took two days to write feels like deleting a commit log.

But once it was gone, I could finally see what actually needed fixing. The core thing — showing the deals — turned out to be the flimsiest part of the whole app. All the flashy side features had been covering for it.

Only after I stripped away the clutter could I see the real hole.

How I Handle New Feature Ideas Now

I shove them into a “someday” list in my notes and close it. If it still feels necessary a month later, that’s when I let myself think about it. Surprisingly, most of the time when I read them back a month on, my reaction is “wait, why did I want this?”

Adding is instant gratification; cutting is delayed conviction. Sitting in that gap seems to be the only way to keep a mini-app mini.

TL;DR

Features feel like progress when you add them, but the real problem only shows up after you cut them.

Next time I'll write about the day I finally shipped this barely-trimmed app — that first day when nobody showed up.