Seed

7 min read

Why Seed Stage Startups Spend 12 Months Building and Still Have No Customers

I remember sitting in a product review at a zero-to-one stage startup — eight months in, 4 engineers — and someone asked a question nobody had thought to ask before.

"Have we spoken to anyone who would actually pay for this?"

The room went quiet. Not the uncomfortable kind of quiet where people are thinking. The kind where everyone already knows the answer.

Eight months. Two refactors. A comprehensive internal admin dashboard. And not a single paying customer.

The Pattern I Kept Watching Repeat Itself

I started calling this the Builder's Illusion after watching it surface in almost identical ways at every scale of company I worked in.

At the zero-to-one stage, it looked like this: engineers making careful, considered architectural decisions — Kafka vs. RabbitMQ, PostgreSQL vs. MongoDB, monolith vs. microservices — while the actual question of whether anyone wanted the thing stayed politely unanswered in the corner.

It felt like progress. It was progress. Just not the kind that mattered yet.

The symptoms are quiet ones. Your sprint velocity looks healthy. Your standups are calm. The codebase is clean. But when someone asks "who's using this?" — there's a pause that lasts a half-second too long.

If your team can describe the system architecture in precise detail but struggles to name three users who've tried the product this month, the Builder's Illusion has probably already taken hold.

Why Smart Teams Keep Landing Here

The funny thing is, it's rarely a laziness problem. The engineers I've worked with at this stage were some of the most driven people I've met.

It's almost always a clarity failure dressed up as a shipping plan.

Here's what I think actually happens: technical work feels controllable. You write the code. You test it. You merge it. It either works or it doesn't. Customer discovery, by contrast, is uncomfortable and ambiguous. People give vague answers. They say they'd pay and then don't. The feedback loop is slow and easy to misread.

So teams unconsciously optimise for the work that gives clear, immediate feedback — building — and defer the work that doesn't.

Why hadn't I seen this pattern sooner, even while I was living inside it? Because every individual decision felt rational. One more feature before we launch. One more fix before we show it to anyone. Looking back, I think what was really happening was that "almost ready" became a permanent state.

The teams I watched stay in this loop for more than a year rarely escaped cleanly. By the time they surfaced, the window had shifted. A competitor had moved. An investor's patience had thinned. Or the best engineer, quietly frustrated, had started interviewing elsewhere.

The Framework — Validate Before You Scale

Over time I developed a simple forcing function for this. I call it the Customer Before Code check. Three questions, asked at the start of every two-week cycle:

1. Who specifically will use what we're building this sprint? Not a persona. A name, or at minimum, a described real person.

2. Have we talked to them in the last two weeks? Not surveyed. Not emailed. Talked.

3. What would change about our plan if the answer to question two surprised us?

If the team can't answer question one, the sprint hasn't been scoped correctly. If question three has no answer, the feedback loop doesn't exist yet. The goal isn't to slow down building — it's to make sure building is aimed at something real.

What I'd Actually Do

If I were in your situation right now — twelve months of building, limited customer contact — here's where I'd start.

Do this first. Stop the next sprint. Not permanently — just pause it for one week. Spend that week doing five customer conversations. Real ones. Not demos, not pitches. Conversations where you ask what they're struggling with and mostly listen. Let what you hear reshape the backlog.

Don't do this — even though it'll feel urgent — don't refactor for scale right now. I've seen this mistake at every stage. The instinct to clean up the architecture before showing it to customers is understandable. But it's displacement activity. Ship the imperfect thing. Get the real feedback. Then refactor toward what you've learned, not toward what you imagined.

Defer this until you've done the first two. Any infrastructure conversation about growth — caching strategy, horizontal scaling, queue depth — defer it. These are real problems. They're just not your real problems yet. At the zero-to-one stage, I learned this the hard way: we built for a scale we never reached because we stopped short of finding the customers first.

"The question was never build more or ship sooner. The question was always — are you building for a customer, or for the version of a customer you invented?"

A Question Worth Carrying

The product gets better every sprint. I have no doubt about that.

But I keep coming back to one question when I look at teams in this pattern: is the product getting better in ways that a real customer would notice — or just in ways that feel better to build?

That gap, small as it sounds, is often the whole story.

If any of this feels familiar, the 15-minute discovery call at anirudhmathur.com/discovery is worth taking. It'll tell you exactly which pattern you're in — and what to do about it next.