SaaSCustomer DiscoveryValidationLean Startup

SaaS Validating Ideas Before Building: Customer Discovery

Systematic customer discovery and idea validation for SaaS founders, covering problem interviews, solution testing, fake door tests, and pre-sell validation.

Maya Patel
Maya Patel
June 1, 202613 min read
Also available in:Deutsch · 中文

TL;DR: Most SaaS startups fail because they build something nobody wants. Customer discovery — systematic problem interviews, solution validation, fake door tests, and pre-selling — reduces this risk. This guide covers the four-stage validation framework, interview scripts, fake door implementation in TanStack Start, and decision gates for go/no-go.


Introduction

The number one reason SaaS startups fail is building a product nobody needs. The cure is customer discovery: a structured process of validating that a real problem exists, people will pay to solve it, and you can reach them.

Customer discovery isn't a one-time activity before building. It's a continuous loop that runs alongside development.


The Four-Stage Validation Framework

StageGoalMethodSuccess Criteria
Problem DiscoveryValidate the problem exists10+ customer interviews7/10 rank it top-3
Solution ValidationValidate your approachSolution demos, mockups5/10 say "I'd pay"
Demand TestingValidate willingness to payFake door, landing page2% signup conversion
Pre-SellValidate real commitmentPre-orders, deposits10+ paid commitments

Fake Door Test with TanStack Start

A fake door test lets you gauge demand for a feature before building it. You present a CTA button or pricing page entry that looks functional but routes to a waitlist signup instead. If enough users click, you have validated demand. This server function captures the signup and the user's stated problem:

tsx
import { createServerFn } from '@tanstack/react-start'
import { z } from 'zod'

export const waitlistSignupFn = createServerFn({ method: 'POST' })
  .validator(z.object({
    email: z.string().email(),
    problemStatement: z.string().min(10),
  }))
  .handler(async ({ data }) => {
    // Track signups but don't build the feature yet
    await db.insertInto('waitlist').values({
      email: data.email,
      problem: data.problemStatement,
      source: 'fake_door_feature',
    }).execute()

    return { message: "We'll notify you when this ships!" }
  })

The key metric is the signup-to-visitor ratio — if more than 2% of visitors who see the fake door sign up, the feature has sufficient demand to justify building. The problemStatement field also gives you qualitative data about what users actually need.


Conclusion

Validate before you build. A weekend of customer interviews saves months of building the wrong product. The four-stage framework — problem, solution, demand, pre-sell — gives you clear decision gates at each stage. For guidance on selecting which features to build after validation, see the MVP Feature Selection Framework. The Finding Product-Market Fit guide covers the post-validation journey, and Building a SaaS MVP in 7 Days helps you execute once you have validated demand.