How CodeKudo decides
Every threshold on this page is read from the code that runs the product. If a number here is wrong, the product is wrong — not the page.
What counts as evidence
A complaint is not a customer. Signals are sorted into four tiers and weighted, because a hundred people being annoyed and one person paying are not the same finding.
| Tier | What it means | Weight |
|---|---|---|
| Complaint | Someone is annoyed by the problem | ×1 |
| Intent | They say they would pay, or wish a product existed | ×3 |
| Existing spend | They already pay for something, or are hiring for it | ×8 |
| Verified revenue | A product in the space has revenue we can check | ×15 |
Public procurement budgets count as existing spend, never as revenue. A €900,000 tender means a buyer set money aside; it does not mean anyone earned it.
Confidence
Confidence comes from how many independent signals exist and how many different platforms they came from. Forty comments under one viral thread are not forty independent observations, so a single source can never produce high confidence.
- High — at least 12 signals from 3 different platforms
- Medium — at least 5 signals from 2 platforms
- Low — at least 2 signals
- None — below that. No positive verdict is possible, and no negative one either.
Payment evidence
Stated intent (“I'd pay for this”) counts, but on its own it is not enough. At least one signal must show money actually moving — existing spend or verified revenue.
Concretely: at least 3 signals in the paid tiers, of which at least 1 shows existing spend or revenue.
The four verdicts
- Build candidate
- Volume (8+ signals), 2+ platforms, real payment evidence, medium confidence or better, and no serious unresolved risk.
- Validate first
- Demand is visible but payment, feasibility or market evidence is not. Test the gap before writing code.
- Narrow the wedge
- The broad idea is unsupported, but a specific segment in the data is. The wedge is named, not hinted at.
- Kill it
- One decisive risk, or two serious ones, that the evidence does not answer.
A kill verdict needs evidence too. If we have no matching records, we cannot decisively kill an idea — we say the data is insufficient and show the concerns as unverified. An opinion with no record behind it is exactly what this product exists not to sell.
Risk severity
Every market has an incumbent and every workflow has a free workaround. Naming them is not analysis; weighing them is. Each risk is rated 1–5, and only a 5, or two 4s, produces a kill.
This was not the original design. The first version killed any idea with an unresolved risk, and in testing it killed every single idea it was given — which is useless. Most real risks are a 3.
Relevance
Before anything is counted, signals have to actually match the idea. Matching uses embedding distance with a cutoff, not keyword overlap and not search rank.
The cutoff was chosen by measurement, not taste: relevant queries return their nearest signal at a distance of 0.36–0.43, while unrelated ones never come closer than 0.61. The threshold sits in that gap. An idea with nothing in our data gets zero signals and “no records match” — not a confident answer assembled from unrelated posts.
What the score does not mean
- It is not a prediction. Whether a business works depends on execution, timing and luck that no dataset contains.
- It is not a measure of the whole market. It measures what is in our database, which is public discussion on a handful of platforms.
- “Build candidate” is the absence of a reason not to start. It is not permission, and it is not a forecast.
- Absence of evidence is not evidence of absence. An empty result means we did not find records, nothing more.
What is in the database right now
24,591 collected records · 1,953 classified signals · 90 products with checkable revenue
Sources: Hacker News, GitHub, the Stack Exchange network, Product Hunt, the App Store, Discourse community forums, EU public procurement notices, and TrustMRR for revenue. These counts come from the database and update hourly.
Disagree with a threshold? That is the point of publishing them. Attack an idea and check the reasoning against the records yourself.