Skip to content
MP Thaker

Post

The Feature Nobody Used

Read the original

I shipped a feature nobody used because I never watched anyone use the thing it was supposed to fix.

It was a polished little module inside Grapevines. I'd convinced myself it was needed because I needed it when I built the wireframe in my head. I wrote the prompt chain, tuned it, made the output clean. It worked. It just answered a question no real user was asking.

I found out the way you always find out. I pulled the usage data weeks later and the number was basically zero. Not low. Zero, plus me testing it.

The mistake wasn't technical. The model did exactly what I told it to. The mistake was that I built from my idea of the user instead of the user. I'd skipped the boring part, which is sitting quietly while a real person fumbles through the actual flow and shows you where it hurts. I assumed the pain point. Assumption is cheap and watching is expensive, so I did the cheap thing and paid for it in shipped code that went nowhere.

What I do now is dumber and slower and works. Before I build anything, I make myself answer one question with evidence, not a guess: what did I actually see a person struggle with? If I can't point to a moment, a recording, a quote, an actual fumble, I don't have a feature. I have a hunch wearing a roadmap.

The uncomfortable part is that the polished module was more fun to build than the messy thing people needed. Clean problems are nicer to solve than real ones. That's exactly why they're a trap.

Anyone else shipped something clean and useless before you watched a single person try the real thing? What pulled you out of it?