The Wall Was Mine First
I don't build apps because I want to build apps. I build them because I hit a wall.

That's the honest version. Every one of them started the same way -- me, stuck, wanting something that either didn't exist, or existed and was bad, or existed and wanted to watch me while I used it. After enough years of running face-first into the same kinds of walls, I stopped waiting for someone else to knock them down.
I wanted a browser that didn't drown me in forty tabs, so I built one that tiles them into sets. I had a gigabyte of session logs I couldn't read, so I built a calendar that lays a week of work on a grid instead of making me grep for it. I got tired of ad networks treating my visitors like inventory, so I built one that doesn't spy. None of these were market ideas. They were Tuesdays where something got in my way and I decided it didn't have to.
Here's the part I think actually matters, and it's the only real trick I have. Because the wall was mine first, I don't have to imagine the person on the other side of the screen. I remember being them. I remember the exact moment I got confused, the click that did nothing, the setting I couldn't find, the thing that worked but left me feeling watched. So when I build, I walk every angle I can think of -- not from a persona document, not from a survey, but from memory. Where would I get stuck here? What would make me quit? What would make me feel stupid, when the fault was the tool's? I try to forecast a stranger's afternoon out of my own.
That's what dogfooding actually is, under the buzzword. It isn't testing your own product. It's refusing to build for a user you made up. I am the first user of everything I make, and a demanding one, because I've already been let down by the thing this is supposed to replace. If it annoys me, it ships annoying. If I can't figure it out, neither will they. The bar is just this: don't make someone feel the way that wall made me feel.
I won't pretend it's a clean way to work. It means I build too much. There's a wake of half-finished things behind me, and a few apps that solved a wall only I ever hit -- built carefully, for an audience of one. I can't always tell in the moment which is which. Some nights the wall is real and shared and worth a month of my life; some nights it's just me, tired, annoyed at something small. I build both. I've made my peace with that. The waste is the price of the ones that land.
And the ones that land, land for a simple reason. My walls are usually not just mine. Most frustration is shared -- the checkout that fights you, the setting buried three menus deep, the service that solved your problem and sold your data while it did. When I fix the thing that stopped me, I'm almost always fixing the thing that stopped you too. I never needed a focus group to know the wall was there. I had a forehead.
So that's what I'm doing, sitting here at night after the day job, with one more window open than I have any business having open. I'm remembering every place I ever got stuck, and building so the next person doesn't. It's a strange kind of care -- forecasting a stranger's frustration from your own, and quietly heading it off before they ever arrive. But I think it might be the most honest reason there is to make something.
You hit the wall. You just didn't want anyone else to.
0 comments
Sign in to join the conversation. It takes one click and no password.