Everyone has ideas. I don't mean that dismissively - ideas are genuinely valuable. But the world isn't short of them. Every pub conversation, every shower thought, every late-night note typed into a phone at 2am produces another one. "Wouldn't it be cool if..." is the most common sentence in the English language that leads absolutely nowhere.

What fascinated me - what still fascinates me - is the gap between having an idea and having a URL. A live, working, real thing that someone can visit. That gap is where ninety-nine percent of ideas go to die. Not because they're bad ideas, but because the distance between imagining a thing and building it feels impossibly large when you've never done it before.

I've now crossed that gap eleven times. And I want to tell you what it actually looks like in the middle, because nobody talks about the messy part.

14
Ideas Shipped
100+
Ideas Abandoned
0
Lines of Code Written

The notes app graveyard

I have a notes app full of ideas that never became anything. Most people do. The graveyard includes a music discovery tool, a neighbourhood newsletter platform, a tool for tracking cultural trends across cities, a recipe organiser for people who cook from cookbooks, and at least a dozen others. Each one felt urgent when I wrote it down. Each one felt obvious and necessary and almost inevitable. And each one stayed in the notes app.

The ones that made it out share something in common, and it isn't that they were the best ideas. Some of the dead ones were probably better. What the survivors share is that they passed a very specific test: I was annoyed enough by the absence of the thing to actually build it. Not excited - annoyed. Excitement fades. Annoyance persists.

The ideas that survive aren't the most exciting. They're the most annoying. The ones where the absence of the thing bothers you enough that you can't leave it alone.

First Out exists because I was annoyed about standing at the wrong end of tube platforms. Little London exists because I was annoyed about not knowing what to do with my son on Saturday. Oishii London exists because I was annoyed that there was no decent guide to Japanese food in the city I live in. The annoyance is the fuel. It's what gets you through the messy middle when the excitement of a new idea has worn off and the satisfaction of a finished product hasn't yet arrived.

The messy middle

Here's what nobody tells you about the gap between idea and URL. It isn't a straight line. It isn't "have idea, build thing, launch." It's more like: have idea, get excited, start building, realise you don't know what you're doing, get frustrated, question everything, have a breakthrough, get excited again, discover a new problem, solve it badly, solve it better, question the entire concept, nearly abandon it, have another breakthrough, realise it's nearly done, panic about whether anyone will care, launch it anyway.

That cycle, with minor variations, has happened with every single product I have built. The specific details change but the emotional arc is remarkably consistent. There's always a moment - usually about forty percent of the way through - where I genuinely consider abandoning the project. Where the gap between what I can see in my head and what exists on the screen feels unbridgeable. Where the thing looks wrong and feels wrong and I'm convinced I'm wasting my time.

The 40% wall: Every project hits a point where it looks worse than having nothing at all. The layout is broken, the content is half-done, the whole thing feels embarrassing. This is normal. Push through it. The other side is closer than you think.

I've learned to recognise this moment and treat it as a signal that I'm making progress rather than a reason to stop. The ugly phase is a required stage, not an optional detour. You can't skip it. You can only push through it fast enough that it doesn't kill the project.

Speed is survival

The single most important thing I've learned about getting ideas to URLs is that speed matters more than quality. Not because quality doesn't matter - it does, enormously. But because the biggest risk to any project isn't that it'll be imperfect. It's that it'll never exist at all. Perfectionism kills more good ideas than bad execution ever has.

My approach now is brutally simple: get it live first, make it good second. The first version of every product I've built was embarrassing. Rough design, missing features, obvious problems. But it was live. It had a URL. It existed in the world rather than in my head or my notes app. And the moment it existed, everything changed. Because now I was iterating on a real thing rather than imagining a perfect one.

There's a psychological shift that happens when you type a URL into a browser and your thing loads. It stops being an idea and becomes a product. It stops being theoretical and becomes real. And real things have a gravity that ideas don't. Real things demand your attention. Real things create accountability. Real things attract feedback, which creates motivation, which creates momentum. Ideas have none of that. Ideas sit quietly in your notes app and wait for you to forget about them.

The naming trap

One of the biggest time sinks in the gap between idea and URL is naming. I care deeply about names. A good name changes how you think about a product. Trove, First Out, CultureTerminal, Oishii - each of those names does work. They communicate something about what the product is and how it should feel. I believe in that. Meaning matters.

But I've also watched myself spend entire days debating names when I should have been building. The name feels like progress because it's creative work and it's fun and it doesn't require you to face the uncomfortable reality that you don't know how to build the thing yet. It's productive procrastination. It feels like you're working on the project when really you're avoiding the hard part.

A product with a bad name and a live URL beats a product with a perfect name and no URL, every single time. You can always change the name. You can't always recover the momentum you lost while choosing it.

My rule now: pick a name in the first hour. If it is good, great. If it isn't, it'll change later. The name is important but it isn't urgent. The URL is both.

What actually happens

For anyone curious about the literal mechanics, here's what the journey from idea to URL looks like for me now. I have Claude Code open. I describe what I want to build in plain English. I start with the most basic possible version - the single screen, the core function, the thing that makes the product what it's and nothing else. I don't think about design. I don't think about features. I think about one question: what does this thing need to do on day one to justify its existence?

First Out needed to tell you which carriage to stand in. That was it. Not a map, not a journey planner, not a social feature where you could share your commute. Just: which carriage, which station, which line. One question, one answer. I built that first, and it was live within a day. Everything else - the offline support, the PWA functionality, the clean design - came later.

The London Pub Guide needed to show you pubs, filtered by area, with a recommendation for each one. Not reviews, not ratings, not a booking system. Just: here are the good ones, here's why, here is where. Live within two days. Then iterated for weeks after that.

The pattern is always the same: find the irreducible core, build that, ship it, then build everything else on top of it. The gap between idea and URL shrinks dramatically when you stop trying to cross it in one leap and start looking for the shortest possible first step.

The hundred dead ideas

I want to be honest about the ones that didn't make it. For every product that has a URL, there are at least ten ideas that never got past the notes stage. Some were too ambitious. Some were too vague. Some were solutions to problems I didn't actually have. And some were genuinely good ideas that I simply didn't care about enough to push through the messy middle.

That last category is the most instructive. Good ideas aren't enough. You need to care about the problem with an intensity that survives the 40% wall, the naming trap, the ugly phase, and the late-night moments where you wonder why you're spending your free time building a pub directory instead of watching television like a normal person.

The gap between idea and URL isn't a technical problem. It never was. It's an emotional one. It's the gap between imagining a world where the thing exists and doing the uncomfortable, unglamorous, often frustrating work of making it real. The tools have never been better. The barrier to entry has never been lower. The gap remains the same size it has always been, because the gap was never about the tools. It was always about the will.

The good news is that crossing it gets easier each time. Not easy - easier. The gap doesn't shrink, but your confidence that you can cross it grows. And that confidence, earned through the messy process of actually shipping things, is the most valuable thing I have built.