Public complaints, verified revenue — themes with links.
People write down exactly what hurts — on Hacker News, in GitHub Issues, in
one-star App Store reviews. painradar reads those public sources plus TrustMRR's
verified-revenue data and turns them into scored themes, a founder-fit ranking
and a launch plan. A claim without a link does not go in the report.
Abridged from a real run of --topic "llm api bill" on 2026-08-21,
with no API keys set. Every row is public — nothing from this machine is in it.
Long titles, links and column headers are trimmed here to fit; the counts are
what the scraper printed.
radar raw evidence — markdown out
# Radar raw evidence — llm api bill — 2026-08-21Source note: hackernews: 44 · github: 30
| Source | Title | Date | Eng. | Int. | Link |
|------------|----------------------------------------------|------------|------|------|---------------------------------------|
| hackernews | Codex on AWS bedrock bug causing 10x charges | 2026-08-21 | -·- | 0.35 | news.ycombinator.com/item?id=49384653 |
| github | Redundant calls, no cache — duplicate billing| 2026-08-09 | 3·2 | 1 | github.com/…/issues/18242 |
| github | Quota exhausted in ~20 min; cache reads at 0 | 2026-08-16 | 3·7 | 0.35 | github.com/…/issues/42935 |
| github | [Pro 20x] 7-day quota depletion on light use | 2026-08-13 | 2·3 | 0.35 | github.com/…/issues/38335 |
The intensity column comes from a pattern classifier, not a model — the patterns are in
one file you can open,
and --selftest proves them against 6 fixtures with the network off
(6/6 on this machine, same day). A blocked source prints as blocked with its HTTP
status — the report never hides a hole in the evidence.
02 Install
One marketplace. Then one command.
claude code
# once> /plugin marketplace add hailneed/plugins
# the demand radar> /plugin install painradar@hailneed
# and try it> /painradar:scan "organic traffic loss after AI Overviews"
Claude Code and Node.js 18 or newer.
No dependencies, no build step, no account. Two optional keys, both yours: GITHUB_TOKEN raises search limits, TRUSTMRR_API_KEY unlocks verified revenue.
Standalone works too — node scripts/radar.mjs --topic "llm api bill" --md
Provable offline — --selftest runs the classifier against 6 fixtures without a single request.
The complaint radar: 3–7 themes with a transparent Signal score, at least two
linked items per theme, solution paths and content ideas. Blocked sources are
reported as blocked, and thin evidence is called weak — never padded.
02
/painradar:fit
Which theme is worth building: pain × money proof (TrustMRR) ×
competition gap × your own persona from devpersona, if present ×
effort × platform risk. Every score points at evidence; without a
TrustMRR key, revenue figures are marked unverified — never invented.
03
/painradar:launch [repo|idea]
One primary channel with stated reasons, posting rules for Reddit, Hacker News
and Product Hunt, SEO comparison pages, a TrustMRR listing step, a 30-day
calendar and three content briefs — all grounded in the radar evidence.
04 Trust
What goes out — and what never does.
painradar is the one module in this suite that goes online. That is exactly why
this section is precise about it.
It fetches public sources only — Hacker News via Algolia, GitHub Issues search, App Store review RSS. Every fetch is in
radar.mjs, one file you can read.
Your side never leaves the machine. Your persona card, your repo and your chat history are read locally and sent nowhere — the only thing that goes out is the search queries you chose.
No usernames in output. Items keep title, link, date and counts; an author field is never written.
Reddit is off by default — licence and rate-limit risk. If you enable it, a 403/429 stops the run and the report says "blocked".
Failure stays visible. An unreachable source appears in the source note with its HTTP status; missing evidence is reported as weak signal, never backfilled.
Optional keys raise limits, nothing more.GITHUB_TOKEN for search quota, TRUSTMRR_API_KEY for verified revenue; without them the tool still runs and marks unverified figures as unverified.
MIT.LICENSE — no account, no signup, no telemetry.
05 Cloud
painradar Cloud is in design.
The plugin stays free and local — that is a promise, not a phase. Cloud is the
optional layer for people who want the radar waiting for them in the morning:
Scheduled daily scans — with history and charts: which themes are new, growing, fading.
Telegram / Slack digest — the morning radar delivered where you already read.
White-label reports — for agencies running the radar for their clients.