About

Idea Radar is an automated product-opportunity radar. Every 3 hours it reads the newest questions, complaints and launches from a few developer and founder communities, and asks a language model to distill them into product ideas that one person could ship as an MVP in 2–6 weeks. This page explains what it collects, how it filters, and how it judges.

Data sources

Four sources, all via public endpoints with no account or API key. Each run fetches the newest posts rather than the most popular ones, so emerging needs are caught early.

SourceScopeMethodPer run
Hacker NewsNewest Ask HN and Show HN. Ask HN concentrates "is there a tool that…" and "how do you deal with…" posts; Show HN shows what others are already validatingAlgolia HN Search API, sorted by date40 + 20
Redditr/SomebodyMakeThis, r/AppIdeas, r/indiehackers, r/SaaS, r/Entrepreneur, r/smallbusiness, r/productivityOne merged multi-subreddit RSS request. Reddit's JSON API returns 403 for non-browser traffic; RSS carries no score or comment count100
Product HuntNewly launched products with their one-line pitch. A launch is a signal of demand being tested, and often exposes underserved nichesPublic Atom feed~50
V2EXideas, create, qna, share, programmerV2EX public v1 API, one node at a time to respect rate limits20 per node

Collection and filtering

  1. All four sources are fetched in parallel. A failing source never blocks the others; the error is recorded on the Runs page.
  2. Posts are normalised to one shape (title, body, URL, author, score, comments, posted time). HTML is stripped and bodies are cut at 1,500 characters.
  3. Each post is stored in D1 keyed by source plus its native ID. Duplicates are ignored, so only posts that appeared since the previous run move forward.
  4. Posts are ranked by score and comment count, keeping at most 80 new posts. If fewer than 20 are new, posts from the last 24 hours that no idea has cited yet are added, so the same material is not reused.
  5. If fewer than 5 posts are available the run is marked skipped and nothing is generated.
  6. The posts (bodies further cut at 400 characters) plus the titles of the 40 most recent ideas are sent to DeepSeek (deepseek-chat), which must return up to 5 ideas as JSON.
  7. The response is validated: entries without a title are dropped, evidence is restricted to post IDs that actually exist in this batch, difficulty is clamped to 1–5. If either language is missing the other is used as a fallback.
  8. Ideas are written to the database and linked to the posts they cite. That link is what the "Source discussions" list on each idea page shows.

Judging criteria

The model is told to extract only from pain points that recur or are clearly intense, and every idea must satisfy all of the following:

  • One person can build an MVP in 2–6 weeks, without heavy operations, offline resources, licences or large datasets.
  • Avoids head-on competition with large incumbents; favours niches, vertical audiences and gaps in workflows.
  • Traceable to evidence in the input posts. No invented demand.
  • Not a near-duplicate of a recently generated idea. When evidence is thin, fewer ideas are better than filler.

Difficulty scale

Each idea carries a 1–5 difficulty, judged by the model from technical complexity and time required, shown as five small bars:

  • 1: a weekend project assembled from existing APIs.
  • 2: one to two weeks, ordinary CRUD plus a few integrations.
  • 3: three to four weeks, some domain logic or data processing.
  • 4: one to two months, with hard engineering such as sync, offline or real-time.
  • 5: months or more, with a technical moat or specialised algorithms.

Scheduling and deduplication

  • GitHub Actions and Cloudflare Cron both fire on the hour every 3 hours, so either can go down without stopping the pipeline.
  • Both start by inserting the key of the current 3-hour window into the database. A unique constraint guarantees only one of them actually runs, so nothing is generated twice.
  • Fetched and new post counts, per-source status and errors for every run are listed on the Runs page.