
The Demand Validation Checklist: Test Your Product Idea Before You Write Code
Most indie builders validate ideas on vibes, not evidence. This article gives you a concrete demand validation checklist for product ideas so you can test for real pain, buyer intent, and willingness to pay before committing months of build time.
Most indie builders validate based on vibes.
A few positive comments, some friends who say “I’d use that,” maybe a couple of claps on X… and you’re off to the races. Months later you have a polished product and no repeat users.
You don’t need more motivation. You need a repeatable demand validation checklist for product ideas that tells you, concretely, whether an idea deserves real build time.
Turn this idea into something you can actually ship.
If you want sharper product signals, validated pain points, and clearer buyer intent, start from the homepage and explore Miner.
This article gives you that checklist.
What “Demand Validation” Actually Means

In this context, demand validation is not:
- “I think this is a good idea.”
- “Someone on Reddit said it’s cool.”
- “There are no competitors.”
Demand validation means you have evidence that:
- People feel a specific, recurring pain.
- They are actively searching for solutions, hacks, or workarounds.
- Some of them explicitly show willingness to pay or switch from current tools.
If you can’t see those three elements, you don’t have demand. You have speculation.
The goal of this checklist is to get yes/no answers to:
- Is this a real, repeated problem?
- Are people already trying to solve it?
- Are they willing to spend money or time to solve it?
- Is there a clear angle where I can be meaningfully better?
If you can’t answer yes to most of these, don’t build. Reframe or move on.
Overview: The Demand Validation Checklist for Product Ideas
We’ll walk through six steps:
- Clarify the problem and who it’s for.
- Scan Reddit and X for repeated pain and workaround hacks.
- Look for explicit buyer intent and willingness to pay.
- Check existing solutions and competitor reviews for gaps.
- Run one lightweight “interest test.”
- Decide based on clear thresholds: build, deepen, or kill.
You can do this in a day or two of focused work, without writing substantial code.
Create a simple spreadsheet or doc with sections matching these steps. You’ll log signals and score them as you go.
Step 1: Clarify the Problem and Who It Is For
If you can’t describe the problem crisply, you can’t validate it. Most “no demand” outcomes start with a fuzzy problem statement.
Write a one-sentence problem statement:
[Who] struggle with [specific situation] because [reason], and it costs them [time/money/stress].
Example:
Solo SaaS founders struggle to track real user pain on Reddit and X because it’s noisy and time-consuming, and they miss out on strong product opportunities.
Then define your initial target user narrowly. “Developers” is not narrow. “Contract React developers in agencies, managing 3–5 clients at once” is.
Step 1 Checks
- I can describe the problem in one sentence without mentioning my solution.
- I can name a specific type of user (job, context, or niche) this is for.
- I can explain what this problem costs them in time, money, or stress.
- I can list at least 3 real-world situations where this problem shows up.
If you can’t pass these checks, you’re not ready to validate. Tighten the problem and audience before moving on.
Step 2: Scan Reddit and X for Repeated Pain and Workaround Hacks

Now you’re looking for real-world complaints and hacks. This is where signals from Reddit and X shine.
You’re hunting for:
- Repeated pain: people complaining about the same issue.
- Workarounds/hacks: people building scripts, spreadsheets, or ugly processes to manage it.
- Emotional language: “hate,” “frustrated,” “annoyed,” “killing me,” etc.
What to Search on Reddit
Use queries like:
site:reddit.com "anyone else struggling with" [problem phrase]site:reddit.com "how do you handle" [problem phrase]"[tool name]" "hate" reddit"what do you use for" "[job to be done]" reddit
Concrete examples:
site:reddit.com "how do you track customer feedback"site:reddit.com "is there a tool for" "summarizing Reddit discussions"
Subreddits to try (depending on your idea):
r/SaaS,r/startups,r/Entrepreneur,r/indiehackers- Role-specific subs like
r/sales,r/PMs,r/marketing,r/devops
What to Search on X
Use search and filters like:
"struggling to" [problem phrase]"is there a tool that" [job/problem]"manual workaround" [topic]"spreadsheet" [problem phrase]
Apply filters:
- Latest: to see ongoing pain.
- People you follow / Lists: if you want higher-signal accounts.
Strong vs Weak Signals
Strong signals:
- Multiple people in similar roles complaining about the same thing.
- Screenshots of messy setups, hacked tools, or scripts.
- Threads where others chime in “same here,” “this,” “+1.”
Weak signals:
- One-off rants with no replies.
- Vague “this sucks” without context.
- Complaints from people outside your target user group.
Step 2 Checks
Log each credible post in your sheet with:
- Link, platform, date.
- Who is posting (role/context, if clear).
- Pain described.
- Any workaround mentioned.
Check these off:
- I found at least 10 posts from my target users describing this or closely related pain.
- At least 5 of those posts include some workaround (spreadsheets, scripts, manual hacks).
- At least 3 posts show emotional language (e.g., “hate,” “pain,” “super annoying”).
- Complaints are recent (most within the last 6–12 months).
If you’re struggling to find even a handful of relevant, recent posts, that’s a red flag. It doesn’t automatically kill the idea, but it means demand isn’t loud.
Where Miner Fits
Doing this scan manually works, but it doesn’t scale well. A tool like Miner can watch Reddit and X for you, surface repeated pain and workaround posts for specific audiences, and summarize them into a daily brief. That’s helpful once you’re tracking multiple ideas or niches, but you can always start manually.
Step 3: Look for Explicit Buyer Intent and Willingness to Pay
Pain is necessary, but not sufficient. People complain about lots of things they’ll never pay to fix.
Now you’re looking for explicit buyer intent:
- People asking for tool recommendations.
- People asking if a product exists.
- People saying they’d pay for a solution.
What to Search
On Reddit:
"what's the best tool for" "[job/problem]""what do you use for" "[job/problem]""is there a product that" "[does X]""I would pay for" "[solution description]"
On X:
"is there a tool for" [job/problem]"need a tool that" [job/problem]"pay for a tool that" [job/problem]"recommendations for" [job/problem]
Examples:
"is there a tool for" "turning Reddit into product insights""what's the best tool for" "tracking feature requests"
What Counts as Strong Buyer Intent
Strong:
- “Is there a tool that does X? I’d pay for this.”
- “What’s everyone using for X? I’m willing to pay if it actually works.”
- “I’m currently using [tool] for X but it’s painful. Any better options?”
Weak:
- “I wish there was a tool for X” with no further engagement.
- “Somebody build X” as a joke.
- Wishlist posts from students or people outside your target segment.
Step 3 Checks
In your sheet, add a column intent_type and mark posts as:
tool_searchwillingness_to_payrecommendations
Then check:
- I found at least 5 posts where people explicitly ask for a tool or product to solve this.
- I found at least 2 posts where people mention they’d pay, upgrade, or switch for a better solution.
- At least some of these posts are from the type of user I defined in Step 1.
- There are threads where multiple people chime in with “following,” “same question,” or “+1.”
If you can’t find explicit buyer-intent language at all, your idea might be solving a nuisance rather than a problem people prioritize.
Where Miner Fits
A key use of Miner is scanning Reddit and X for buyer-intent phrases and surfacing them as a ranked feed of opportunities. Instead of manually searching for “is there a tool for…”, you get daily clusters of “looking for a tool” posts around specific jobs-to-be-done. That can speed up this step, especially when you track several ideas.
Step 4: Check Existing Solutions and Competitor Reviews
If there’s no competition, it’s usually a bad sign. The question isn’t “is there competition?” but “are existing solutions clearly leaving people unhappy, underserved, or excluded?”
How to Scan for Competitors
- Search directly:
"[job/problem]" tool"[job/problem]" softwareSaaS for "[job/problem]"
- Look at:
- Landing pages: what segment do they emphasize?
- Pricing pages: which segments are priced out?
- Check review sites:
- G2, Capterra, AppSumo, Chrome Web Store, app store reviews.
You’re looking for:
- Complaints in reviews.
- Requests for missing features.
- Patterns from specific segments (“great for enterprises, bad for small teams”).
What Counts as a Gap
Useful gaps:
- Underserved segment: “This is overkill for a solo founder/SMB/freelancer.”
- Complexity gap: “Does everything but it’s painful to set up and use.”
- Integration gap: “Doesn’t work with [common tool] we rely on.”
- Workflow gap: “We still have to maintain a manual spreadsheet for X.”
Not-so-useful “gaps”:
- “Could have a dark mode” (unless your entire value prop is UX).
- Edge-case feature requests with no pattern.
- One angry review among hundreds of happy ones.
Step 4 Checks
Create a row for each competitor. Add columns:
target_segmentpricing_floor(cheapest paid plan)main_complaint_patternsreview_snippets
Then check:
- I identified at least 3 products solving this or adjacent problems.
- For each, I read 10–20 recent reviews or discussion posts.
- I can summarize 2–3 recurring complaints or gaps per major competitor.
- I can articulate a specific angle where my product could be meaningfully better for a defined segment (not “better in all ways for everyone”).
If you can’t articulate a clear segment + angle (e.g., “simpler version for agencies managing multiple client brands”), you risk becoming undifferentiated.
Step 5: Run One Lightweight Interest Test

You’ve seen pain and some buyer intent. Now you want to see if people will raise their hand before you build.
Choose one simple experiment:
- A focused landing page + waitlist.
- Direct outreach (DMs or email) to people who expressed the pain.
- A short “problem-first” survey circulated in relevant communities.
Pick one you can launch in a day.
Option 1: Landing Page + Waitlist
Create a one-page site:
- Headline: problem + outcome, not features.
- Short copy: who it’s for, what it does, what pain it removes.
- Clear call to action: “Join the waitlist” or “Get early access.”
- Optional: ask 1–2 qualifying questions (role, company size).
Drive traffic by:
- Replying to relevant Reddit/X threads with something like:
- “I’m working on a tool that does X for [segment]. If you want early access: [link].”
- Posting on your own social accounts, indie communities, and any niche groups you’re in.
Option 2: Direct DM Outreach
Take 10–20 people who posted about the pain on Reddit or X. Reach out respectfully.
Example DM template:
Hey [name] — saw your post about [problem].
I’m exploring a tool for [specific outcome] for [segment].
Would you be open to a quick 10–15 minute chat, or want me to share a rough idea to see if it’s useful?
You’re not pitching a polished product. You’re testing if people care enough to talk.
Option 3: Micro Survey
Keep it <5 questions, mostly multiple choice:
- Who are you? (role, context)
- How do you currently handle [problem]?
- How painful is this on a scale of 1–5?
- Have you looked for tools to solve it?
- Would you be open to trying a new tool or workflow?
Share the survey where your target users hang out.
Step 5 Checks
Decide on your experiment and log:
- Type of experiment.
- How many people you reached.
- How many responded/opted in.
Then check:
- I ran at least one interest test that reached at least 30–50 relevant people (not friends alone).
- I collected actual signups, replies, or “yes, I want this” messages, not just likes.
- I captured basic info about respondents (role, segment) to see if they match my target.
Don’t overcomplicate the test. The goal is directional signal, not perfect conversion numbers.
Step 6: Decide Using Clear Thresholds
This is where most builders fall back to vibes. You saw “some interest,” so you justify building anyway.
Instead, set clear thresholds in advance. Here’s a simple way to score:
A Lightweight Scoring Framework
Give each dimension a score from 0–2:
- Pain volume (Step 2)
- 0 = <5 relevant posts
- 1 = 5–15 posts
- 2 = >15 posts with clear patterns
- Buyer intent (Step 3)
- 0 = 0–1 explicit tool/“willing to pay” posts
- 1 = 2–4 posts
- 2 = 5+ posts or active recommendation threads
- Competition gaps (Step 4)
- 0 = no recurring complaints or clear angle
- 1 = some complaints but unclear positioning
- 2 = obvious underserved segment or repeated gaps
- Interest test (Step 5)
- 0 = <2% of people reached take action
- 1 = 2–5% conversion from relevant traffic
- 2 = >5–10% conversion from relevant traffic
Total possible: 8 points.
Example Thresholds
Use something like:
- 7–8 points → strong: proceed to V1 with confidence.
- 5–6 points → promising: refine positioning, maybe run a second experiment.
- 3–4 points → weak: pivot the segment or angle before building.
- 0–2 points → kill: archive the idea and move on.
Adjust these numbers for your context, but commit to them before you see results.
Step 6 Checks
- I scored each step (pain, intent, gaps, interest) using simple criteria.
- I decided in advance what score range counts as “build,” “refine,” or “kill.”
- I wrote down my decision and rationale in my notes.
- If I decided to kill/reframe, I documented why, so I can revisit if conditions change.
This removes a lot of emotional bias. Your future self will thank you.
How to Log and Score Signals Without Overthinking It
You don’t need a full CRM. A simple spreadsheet or note works.
Basic layout:
- Tab 1:
Signals- Columns:
date,platform,user_role,signal_type(pain/intent/gap),snippet,link,workaround? (y/n),emotion_level(1–3).
- Columns:
- Tab 2:
Competitors- Columns:
name,target_segment,pricing_floor,key_complaints,link.
- Columns:
- Tab 3:
Experiments- Columns:
type,date,people_reached,responses,conversion_rate,notes.
- Columns:
Once you’ve logged enough rows:
- Count how many “strong” signals you have in each category.
- Use the scoring framework in Step 6.
- Write a short narrative summary (5–10 bullet points) of what you learned.
If you later use a tool like Miner, it can feed your sheet/notes with pre-filtered signals from Reddit and X, so you spend more time interpreting and less time digging.
Putting It All Together: What to Do After the Checklist
Once you complete this demand validation checklist for product ideas, you should be able to answer:
- Is there clear, repeated pain?
- Are people actively searching for solutions?
- Are they signaling willingness to pay or switch?
- Is there a realistic gap for my angle and segment?
- Did a small experiment show real interest from real users?
From here:
- If the idea scores strong:
- Build a small, narrow V1 focused on the core pain you observed.
- Keep talking to early signups; build with them, not for them.
- Keep logging new signals to refine the roadmap (this is where a daily brief like Miner can keep you plugged into evolving demand).
- If the idea is promising but not strong:
- Tighten the segment (e.g., from “all marketers” to “B2B SaaS content marketers”).
- Re-test with a more specific landing page or outreach angle.
- Consider repositioning toward the segment that complained the loudest.
- If the idea is weak:
- Archive it in an “idea graveyard” doc with your notes and scores.
- Don’t delete it; some ideas become viable as markets shift.
- Move on to the next idea, armed with a sharper sense of what strong signals look like.
The real win is not validating a single idea. It’s building a habit: every time you get a new idea, you run it through a lightweight, repeatable checklist rather than building on hope.
Over time, your backlog becomes less about “cool ideas” and more about validated opportunities, surfaced from real conversations, complaints, and buyer intent. Whether you collect those signals manually or with a tool like Miner, the discipline is the same:
Don’t ship based on vibes. Ship based on evidence.
Related articles
Read another Miner article.

How to Validate Startup Ideas by Monitoring Online Conversations
Relying on guesswork, one-off feedback, or expensive advertising campaigns is a dangerous trap when validating startup ideas. In this comprehensive guide, you'll discover a systematic, data-driven approach to identifying genuine opportunities by monitoring relevant online conversations. Uncover recurring pain points, buyer intent signals, and other demand indicators to make smarter product decisions.

How to Use Social Listening to Find Validated Product Ideas and Pain Points
As an indie hacker, SaaS builder, or lean product team, finding validated product ideas and understanding your target market's pain points is crucial for making smart decisions about what to build. In this article, we'll explore a practical, actionable approach to social listening that can help you uncover hidden opportunities and make more informed product decisions.

Validate Product Ideas by Listening to Online Conversations
Validating product ideas is a critical first step for SaaS builders, indie hackers, and lean product teams. Rather than guessing what customers want, you can uncover real demand by monitoring online conversations. This article will show you a proven process for surfacing insights that can make or break your next product launch.
