FORM NOT VOID, MIND NO CORE

"'Chapter 4: Validation and Filtering: Get Paid Before You Write the First Line of Code'"

2026.08.10

The graveyard of indie development is littered with products that were "technically perfect but market failures." On their tombstones is engraved the same epitaph: "I thought users would like it."

"I thought" is the most expensive phrase in indie development. It can make you willingly spend months and pour endless energy into building a castle in the sky that exists only in your imagination. And when the product launches to a cold market, the crushing disappointment can destroy all your passion.

We must kill "I thought."

The core mission of this chapter is to replace "I thought" with a rigorous, scientific, even somewhat "ruthless" process. This process has only one goal: to obtain the market's most honest feedback signal before committing substantial resources.

What is the most honest signal? Not a friend's like, not a netizen's "great idea," not even a long waitlist. The most honest signal is the user's willingness to overcome friction and reach for their wallet.

So, the creed of this chapter is: Get paid first, then write code.

This may sound counterintuitive, even a bit like "scamming." But it is precisely the shortest and most honest path to success. Let's learn how to become a "clever scammer" gracefully and scientifically.

A boundary that must be stated first: the fake door test measures "intent," not "payment" — the approach in this chapter must never actually charge users any money. Publishing a priced "buy" entry for a product that does not yet exist may brush against false-advertising and consumer-protection rules depending on jurisdiction (e.g., the FTC's regulation of deceptive practices in the US). The compliant approach: route the button to an honest form and discount promise, and state clearly on the page that the product is pre-launch, when it will be available, and how refunds work — that is both the legal line and the original intent of this method.

4.1 Fake Door Testing: Using Carrd + Typeform to Test Real Conversion Rates

The "fake door test" is a classic validation method from Silicon Valley. Its metaphor is vivid: imagine you paint a highly realistic, enticing door on a wall, with a sign that says "Members-Only Lounge." Then you hide nearby and observe how many passersby actually reach out and try to push open the painted door.

Those who just glance and say, "That's a beautiful door," are your "liking users." Those who actually try to push it open are your "high-intent users." The fake door test measures not "appreciation," but "action."

In product validation, this "fake door" is a carefully designed landing page, and the user's act of "pushing the door" is clicking the "buy" button with a price tag.

Why use a fake door test instead of "collecting emails"?

Many developers, when validating an idea, create a simple page that says "Product coming soon, leave your email for updates." The problem with this method is that leaving an email costs too little. Users may do it out of politeness, curiosity, or a "might need it later" mentality. This email list is full of noise and gives you false hope.

The fake door test, by clearly displaying a price on the button, introduces "price" as a powerful filter. A user who, after seeing "Get Access Now -- $29/mo," still chooses to click -- that action carries an intent strength higher than 100 free email signups.

Your "Fake Door" Dream Team: Carrd + Typeform

To build our "fake door" as quickly and cheaply as possible, we recommend a dream team combination:

  • Carrd (carrd.co): A minimal single-page website builder. You can drag and drop a beautifully designed, responsive landing page in an hour or two, with no code. The Pro version costs just $19 a year -- incredible value.
  • Typeform (typeform.com): An online form tool with an excellent interactive experience. Its role is to gracefully catch users after they "push the door" and complete our real goal -- collecting information and validating demand.

Hands-on: Building Your "Fake Door Test" System Step by Step

Let's say through our mining in Chapter 3, we have locked onto an opportunity: building an "AI auto-generate Show Notes" SaaS tool for independent podcasters. Let's call it "Podnotes AI."

Step 1: Build the Landing Page on Carrd (Your "Fake Door")

This page has only one purpose: to clearly communicate value and guide users to "push the door." It must include the following core elements:

  1. A Killer Value Proposition: Say in one sentence who you are, who you help, and what problem you solve. Formula: Verb + Pain Point + Result.

    • Bad example: "An AI-powered podcasting tool" (too vague)
    • Good example: "Stop Writing Show Notes. Start Podcasting."
    • Even better: "Reclaim 5 Hours Every Week. AI-Powered Show Notes for Your Podcast in 3 Minutes."
  2. A Credible Visual Anchor: Humans are visual creatures. You need an image that makes users instantly "feel" what your product looks like.

    • What to do? You don't have a product yet! No problem, "fake" one.
    • Method: Use Figma or Canva. Take a screenshot of an existing SaaS interface template and Photoshop in some text about podcasts and show notes. Or, simpler still, use Midjourney to generate an abstract image with a tech feel, like "AI processing audio waveforms." The image does not need to be 100% accurate -- it just needs to look "professional" and "relevant."
  3. Three to Four Core Benefits: Do not list features. Describe the benefits users will get.

    • Feature: We support MP3/WAV format upload.
    • Benefit: Effortless Upload. Just drag and drop any audio file. We handle the rest.
    • Other benefits:
      • AI-Generated Summary: Get a concise, engaging summary in seconds.
      • Key Takeaways and Timestamps: Automatically pinpoint the most valuable moments for your listeners.
      • Social Media Snippets: Instantly create ready-to-post clips for Twitter, LinkedIn, and more.
  4. An Irresistible "Buy" Button: This is the heart of the entire page.

    • Button text: Must include the price, and convey urgency or a special offer.
      • Bad example: "Sign Up" / "Learn More"
      • Good example: "Get Early Access -- $19/mo"
      • Even better: "Claim 50% Off for Life -- $19/mo" — note: use a "lifetime" promise only if you truly intend to honor it, and spell it out in your terms.
    • Button design: Use the most eye-catching color. Make it the visual focus of the page.

Step 2: Set Up the "Surprise" Behind the Door on Typeform

When the user clicks that enticing "buy" button, what happens? They are not taken to a Stripe payment page. They are redirected to your carefully prepared Typeform.

Designing this form is an art. It must skillfully defuse the user's feeling of being "tricked" while smoothly completing our intelligence gathering.

Form Flow Design:

  1. Page 1: Honesty and Thanks

    "You're Early! And We Love You for It."

    "Podnotes AI is currently in the final stages of development. As a thank-you for being one of our very first supporters, we're giving you a guaranteed 50% lifetime discount once we launch."

    • Psychology tip: First, acknowledge the product is not ready yet in a positive, playful tone. Then immediately offer a reward (lifetime 50% off), transforming the user's potential disappointment into the thrill of "getting a deal."
  2. Page 2: Collect Email (Minimum Requirement)

    "Drop your email below to lock in your discount. We'll notify you the second we go live."

  3. Page 3: Dig into Core Pain Points (Most Important Intelligence)

    "One quick question to help us build the perfect tool for you: What's the most frustrating part about creating show notes today?"

    • Tip: This is an open-ended question. Every word a user writes here is more valuable than 100 surveys. It is unvarnished, raw user sentiment.
  4. Page 4: (Optional) Validate Pricing

    "Assuming the tool saves you 2 hours per episode, what would you consider a fair monthly price?"

    • $9/mo
    • $19/mo
    • $29/mo
    • $49/mo or more
    • Tip: This helps you calibrate your pricing strategy. If most people choose $29 but you only priced it at $19, you might be undervaluing your product.

Step 3: Connect Carrd and Typeform

In Carrd, set the link for the "buy" button to point to your Typeform form URL.

That is it. Your "fake door test" system is set up. Total time: maybe 3 hours.

Step 4: Measure Success

Share your Carrd page link where your target users gather (Reddit, Facebook groups, Twitter, etc.). Then start observing the data.

The core metric you need to focus on is the "push rate" (click-through rate on the CTA). Push rate = Number of people who clicked the "buy" button / Total number of landing page visitors

  • If push rate < 1%: This is usually a danger signal. Your value proposition is not compelling enough, or you have targeted the wrong users. The market has no interest in your "fake door."
  • If push rate is between 2-5%: This is a very positive signal. Convincing 2-5% of cold traffic to show purchase intent with just a page and no product means the pain point is real.
  • If push rate > 5%: Congratulations, you may have struck gold. Stop everything else immediately and start seriously considering building this product.

The fake door test is your "touchstone" before writing the first line of code. It allows you to filter out most bad ideas at minimal cost, channeling your precious energy into gaps with real market demand.

Before we launch the test, we need to establish an important strategic principle: where should your "fake door" open to?


4.2 Global Day 1: Why Target the Global Market from Day One?

When you have completed your "fake door" landing page, a practical question arises: should this page be in Chinese or English? Should your target users be Chinese podcasters or global podcasters?

For the vast majority of indie developers building SaaS or digital products, my advice is unwavering: Global Day 1 (target the global market from day one).

This means your product interface, marketing copy, and customer support should use English as the primary language from the start, targeting mature paying markets like North America and Europe.

This is not about being pro-foreign. It is based on cold business realities and strategic considerations. For us, solitary "super individuals," choosing the right "battlefield" is even more important than the "weapon" itself.

Reason 1: Huge Difference in Willingness and Ability to Pay

This is the most core, most fundamental reason.

  • SaaS spending habits: In North America and Europe, paying for good software is a widespread habit. Many individuals, freelancers, and small teams are accustomed to paying monthly fees for tools (Notion, Figma, Slack, Superhuman). Spending $20/month for a tool that saves them time and brings value is as natural as buying a few cups of coffee. They evaluate "value" more than price.
  • Domestic market reality: Although this is changing, the penetration of individual users paying for software tools domestically remains markedly lower, and subscription acceptance is still being cultivated. You more often have to explain "why can't this be free?" Users tend to evaluate "price" more than value. This is a comparison of overall tendencies; both markets contain plenty of exceptions.

For a $19/month SaaS product:

  • A US freelancer might think: "This tool saves me 2 hours a week. My hourly rate is $50, so that is $400 a month. Spending $19 to get $400 back -- that is a steal!"
  • In another market, a user might think: "Over 100 yuan a month? I could have a nice meal with that. Is there a free alternative? Can I find a cracked version?"

This difference in mindset determines your product's pricing ceiling and how smoothly you can commercialize it. In a mature market, you can focus on creating value. In an immature market, you may spend a lot of energy educating users on "why they should pay."

Reason 2: Market Size and Room for Niche Players

The global English market is a vast, unified market. A "nano-vertical" niche that seems extremely tiny in the US may have an absolute user count and market size that exceeds an entire mainstream market elsewhere.

Take the "real estate agent flyer generator" we mentioned earlier:

  • The population of licensed real estate agents in the US is on the order of a million-plus (per the National Association of Realtors, Realtor membership has hovered around 1.5 million in recent years; see nar.realtor). That supports a demonstrative estimate: if just 1% are your target customers, that is over 10,000 people; converting 10% of those at $19/month yields tens of thousands of dollars a month. This is an arithmetic example illustrating market-size thinking — in real markets each layer of the funnel (target-customer share, conversion rate) typically comes in well below optimistic assumptions, so calibrate against your actual channels.
  • This "flyer generator" demand may exist in another market too, but the practitioner base, paying ability, and usage habits cannot support such a viable business model.

Choosing the global market means your "gap" can be very, very small and still potentially support a comfortable living. Of course, Global Day 1 has real costs: language and cultural distance, cross-time-zone support, and unfamiliarity with the target market's rules and user habits. If your product inherently depends on a local ecosystem (payments, content, relationships), the local market may in fact be the right battlefield. This is a strategic trade-off question, not a single-answer one.

Reason 3: Global Toolchain Maturity

Today, there are no technical barriers to becoming a global company.

  • Payments: Stripe and LemonSqueezy -- two divine tools -- allow you to start accepting credit card payments from users in virtually any country within minutes. They automatically handle complex tax issues (like EU VAT), compliance, and anti-fraud. You no longer need to deal with banks and payment channels in each country.
  • Company formation: Stripe Atlas lets you register a C-Corp in Delaware, USA, and open a US bank account without leaving your home, for $500. This makes your payment collection, tax, and legal entity issues extremely simple and standardized.
  • Language: English is the internet's world language. Using simple, clear English to build your product and marketing materials is the best way to reach the broadest, highest-value user base. Cannot manage it yourself? Use DeepL or GPT-4 to help you write -- the results are already good enough.

Reason 4: Competitive Environment and Value Orientation

Focusing on the global market forces you to think about "real value" from day one, rather than getting bogged down in low-level "price wars" or "feature stacking."

Competition in the international market is more about brand, experience, user success, and community. It is a healthier, more positive form of competition. It makes you focus on polishing your product and serving users, instead of figuring out how to win through subsidies, referral programs, and similar tactics.

How to Achieve "Global Day 1"?

  1. Language: Use English by default. If energy permits, you can add other languages later.
  2. Pricing: Use USD as your base currency.
  3. Payments: Prefer Stripe or LemonSqueezy.
  4. Design: Adopt a globally universal, clean design style. Avoid elements with strong regional cultural connotations.
  5. Mindset: See yourself as a "global company born on the internet," not "a Chinese company trying to go global."

Of course, this does not mean completely abandoning the domestic market. You can have a Chinese-language mirror site with domestic payment channels. But your strategic focus, your product iteration, and your marketing investment should prioritize the global market -- where willingness to pay is higher, the ceiling is higher, and the rules are more transparent.

Choosing Global Day 1 means choosing the path of least resistance and highest return for your minimalist product.


4.3 The Art of Cutting Losses: How to Judge Whether an Idea Is Worth Pursuing in 48 Hours

The most precious resource in indie development is not money -- it is time and focus. The scariest thing about a bad idea is not that it loses you money, but that it acts like a black hole, continuously devouring your time, eroding your will, and causing you to miss other, better opportunities.

Therefore, learning to "quickly, cheaply, and ruthlessly kill a bad idea" is one of the most important survival skills for an indie developer. This is the "Art of Cutting Losses."

To fight against our deep-seated "sunk cost fallacy," we need a strict, time-bound experimental framework. I call it the "48-Hour Validation Sprint."

The goal of this sprint is not to "build a product," but to "obtain a clear Go/No-Go signal within 48 hours."

Pre-Sprint Preparation: Define Your "Success/Failure" Criteria

Before you start the sprint, you must clearly write down your "judgment criteria" on paper. This keeps you objective and rational when faced with ambiguous data.

Sample Judgment Criteria:

  • Go: If within 48 hours, my landing page receives at least 10 "buy" clicks (i.e., Typeform submissions) AND at least 3 detailed user comments about the pain point.
  • No-Go: If either condition above is not met, I will immediately terminate this idea and archive it. I promise I will not try to "rescue" it.

The 48-Hour Validation Sprint: Action Manual

Day 1: Build and Launch (Hours 0-24)

  • Morning (0-4 hours): Build the "Fake Door"

    • Task: Use Carrd and Typeform to complete your "fake door test" system.
    • Key point: Do not chase perfection. Use templates, use AI to generate copy drafts, use Figma to fake screenshots. Your goal is to have a "60-point" usable version in 4 hours, not a "90-point" work of art.
  • Afternoon (4-8 hours): Find the "Fishing Ponds"

    • Task: Find at least 5 "digital fishing ponds" where your target users gather.
    • Methods:
      • Reddit: /r/podcasting, /r/freelance, /r/entrepreneur
      • Facebook Groups: Search "Podcast Creators Community," "Indie Podcasters"
      • Twitter: Search the #podcasting hashtag, find active influencers and discussions
      • Niche forums/communities: Indie Hackers, Product Hunt Discussions
  • Evening (8-12 hours): Cast the "Bait"

    • Task: In the "fishing ponds" you found above, post your "bait" -- the link to your landing page.

    • This is the most critical and skill-intensive step. Do not bluntly post an ad. Take a sincere, "seeking help" posture.

      Post template (using Reddit as an example):

      Title: [Feedback Request] I'm tired of writing show notes, so I'm building an AI tool to automate it. Is this crazy?

      Body: Hey fellow podcasters,

      I love podcasting, but I absolutely DREAD the process of writing show notes after every recording. It takes me hours and I feel like my time could be better spent creating content.

      I've been tinkering with an idea for a simple tool that uses AI to automatically generate show notes, summaries, and timestamps from an audio file. The goal is to get it done in under 3 minutes.

      I put together a quick page to explain the concept: [Your Carrd Link]

      My question for you all is:

      1. Does this resonate with you? Is this a real problem?
      2. What would a "must-have" feature be for a tool like this?

      I'm a solo developer trying to build something actually useful, so any brutally honest feedback would be a massive help. Thanks!

    • Skill analysis: This post starts by "seeking feedback," adopting a humble posture. It shares the OP's own pain, creating resonance. It asks specific questions, guiding discussion. It identifies itself as an "indie developer," making it easier to earn community support.

Day 2: Analyze and Decide (Hours 24-48)

  • All Day: Engage and Observe

    • Task: Actively reply to every comment. Someone asks a question? Answer immediately. Someone criticizes? Thank them for their honesty. Note down valuable feedback. Meanwhile, closely monitor your Carrd analytics and Typeform submission records.
  • Evening (45-48 hours): Judgment Time

    • Task: Pull out the "judgment criteria" you wrote before the sprint. Compare with your data. Make the "Go/No-Go" decision.

      Scenario 1: Clear "Go" Signal

    • Data: Received 400 visits, 15 "buy" clicks (3.75% conversion rate), 8 Typeform comments, one of which reads: "Oh my god, if this thing actually works, I'd pay double! What I need most is integration with my Captivate host!"

    • Decision: Go! Your validation was extremely successful. Not only did you prove willingness to pay, but you also gained valuable feature direction (Captivate integration).

      Scenario 2: Clear "No-Go" Signal

    • Data: Received 300 visits, 1 "buy" click, 0 comments. Your Reddit post has a reply: "Sounds good, but Descript already has this feature."

    • Decision: No-Go! The market is cold, and there is already a strong competitor. Decisively abandon it. Celebrate saving yourself months of time. Archive this idea, then take the next one from your demand list for testing.

      Scenario 3: Ambiguous Signal (Most Common)

    • Data: Received 500 visits, 6 "buy" clicks (1.2% conversion rate), 2 vague comments.

    • Decision: Lean toward No-Go. The signal is not strong enough to warrant full commitment. You can choose: a) Abandon completely; b) Spend another day, tweak the value proposition or target audience, and test again. But be wary of falling into an endless "try again" loop.

The art of cutting losses is essentially emotional maturity. It requires you to fall in love with "solving problems," not with "your ideas." Ideas are cheap and disposable. Your ability to find real problems is your most valuable asset.

Learn to gracefully kill a bad idea, and you will meet the right one that much faster.


4.4 (New) [Case Study: A Composite Product Validation Journey]

Theory is gray, but the tree of life is ever green. Let us connect the theory from the previous three sections with a complete, end-to-end case study. Note: this is a composite case — the process and data depict the typical shape of the chapter's method; both the protagonist and the product are fictional, for demonstration rather than evidence.

Product Codename: "NotionMetrics"

Step 1: The Birth of Demand (Gap Thinking + Emotion Mining)

Our protagonist, Anna, is a fictional indie developer and a heavy Notion user. She uses Notion to manage her projects, writing, and personal life.

  • Emotion Mining: She lurks in the /r/Notion community and discovers a recurring "complaint pattern." Many users who use Notion as a personal CRM or project management tool complain about Notion's lack of built-in charts and data visualization. There are many posts like this:

    • "How can I create a chart from my Notion database?"
    • "I wish I could have a dashboard in Notion with charts showing my weekly progress."
    • "I have to export my data to Google Sheets just to make a simple pie chart. It's so annoying!"
  • Gap Analysis:

    • The giant won't bother: Notion's official focus is on building blocks and database core functionality. Building a complex charting engine would increase product complexity and does not fit their strategy.
    • Small companies can't get it right: Anna found some existing solutions, but they either required complex API configurations (unfriendly to non-technical users) or had ugly designs that clashed with Notion's clean aesthetic.
    • Users are complaining: The Reddit complaints are ironclad proof.
  • Initial Idea: Build a "super simple chart tool that embeds seamlessly into Notion."

Step 2: Designing the Fake Door Test (Carrd + Typeform)

Anna decides to validate this idea in 48 hours. She immediately starts building her "fake door."

  • Product Name: NotionMetrics

  • Landing Page:

    • Headline: "Bring Your Notion Data to Life. Beautiful Charts, Zero Code."
    • Visual: She uses Figma to photoshop a screenshot of a beautiful chart component (like a pie chart, line chart) onto a background that looks like a Notion page. This "fake image" looks like NotionMetrics is already running perfectly.
    • Benefits:
      • Connect your Notion database in 2 clicks.
      • Choose from 10+ beautiful chart types.
      • Embed live-updating charts anywhere in Notion.
    • CTA Button: "Start Creating Charts -- $9/mo"
  • "Behind the Door" Form:

    • Opener: "Wow, you're fast! NotionMetrics is launching soon..."
    • Core Question: "What kind of data in Notion are you most excited to visualize?"
    • Pricing Validation: Offer $5/$9/$15 monthly options.

Step 3: 48-Hour Validation Sprint (Global Day 1 + The Art of Cutting Losses)

Anna's strategy is Global Day 1 -- all materials in English, prices in USD.

  • Day 1:

    • She posts the landing page link to /r/Notion with the title: "[Feedback] I built a mockup for a tool to create charts directly from Notion DBs. Would you use this?"
    • She also @-mentions a few Notion KOLs on Twitter, humbly asking for their thoughts.
  • Day 2:

    • Data: By the end of 48 hours, her Carrd page received 672 visits. The backend shows 31 people clicked the "$9/mo" buy button and jumped to Typeform. That is a conversion rate of 4.6%.
    • Qualitative Feedback:
      • In Typeform, she received 18 responses. Several said: "I want to track my sales pipeline." "I need to visualize my content calendar." "Please make it work with relational databases!" These are highly specific needs.
      • On the Reddit post, one user commented: "I'm currently paying $15/mo for [Competitor Name] and it's a pain to set up. If yours is easier, I'll switch in a heartbeat."

Step 4: Judgment and Decision

Anna pulls out her preset "judgment criteria":

"Go: 10+ 'buy' clicks AND 3+ detailed comments."

Her results: 31 "buy" clicks and 18 comments, many of which were very detailed.

Decision: Overwhelming "Go"!

Conclusion and Insights:

This composite case fully demonstrates the practical application of all the core ideas in this chapter:

  1. She confirmed that people are willing to pay for this feature without writing a single line of Notion API code.
  2. By including a price on her "fake door," she filtered out noise and obtained high-intent signals (4.6% conversion rate).
  3. She chose the global market, precisely reaching Notion's core user base with the highest willingness to pay.
  4. She completed the entire cycle in 48 hours. If the data had been bad, she could have abandoned it with zero loss and moved on to test the next idea.
  5. She not only validated "whether to build" but also, through user feedback, learned "how to build it" (e.g., support relational databases, highlight ease of use).

This case shows that indie development does not have to be a gamble. Through rigorous validation and filtering, it can become a precise, controlled experiment. (Note: the conversion rates and feedback numbers in the case are illustrative settings, showing how "judgment criteria" operate; the numbers you get in a real test depend on your audience and channels.)

Before you invest hundreds of hours in development, invest this crucial 48 hours first. It may be the highest-ROI investment of your entire indie development career.