Demand Radar for Hermes
Prove someone wants it before you build it.
Ask Hermes about an idea. Demand Radar searches public, official APIs for people who ask for that
thing or complain about what they use now. It keeps only the posts that are really about your
idea and gives a verdict you can check: GO, NARROW, KILL or NO SIGNAL, with the
rule that fired, quotes with links, and who already builds it.
/radar invoice reminders for freelancers | chase unpaid invoices
Demand Radar: invoice reminders for freelancers
Verdict: NARROW (normal confidence)
Some signal, not enough: 5 requests (GO needs 10); 1 active seeker (GO needs 3).
- Hacker News: "...every invoicing tool I tried either felt bloated, overly enterprisey, or was way too expensive for solo work..."
Already building it: Show HN: Payment Hunter – AI-powered invoice reminders for freelancers; ...
What it does that a prompt cannot
- Real evidence, not a model's opinion. Every claim comes with the post it came from.
- A noise gate. A post counts only when the idea's words sit within 300 characters of the
request or complaint, or in its title. GitHub issue-form text ("Is your feature request
related to a problem?") is ignored. One GitHub repo counts at most twice, so an idea-list or bot
repo cannot fill a verdict alone. Generic words (open source, self-hosted, alternative) and
two-letter words (ai) never stand in for the idea's own words: "open source alternative to
calendly" needs posts that say "calendly". - Two kinds of silence. KILL means people discuss the topic here but nobody asks for it.
NO SIGNAL means these sources barely discuss it, so they cannot judge it. A false KILL on a
good idea is the expensive mistake; this split avoids it. - Supply as well as demand. "Show HN" launches about the idea are listed as builders, not
counted as demand. A product's own tagline ("X, a self-hosted alternative to Y") is supply too:
"alternative to" counts only when a person is looking for one. - Memory. Every check is stored. Check the same idea next month and Hermes tells you how
demand moved since last time.demand_radar_historylists every idea you tested. - Honest failure. A source that times out is reported and lowers the confidence. If no source
answers, the verdict is UNKNOWN, never KILL.
Verdict rules
| Verdict | Rule |
|---|---|
| GO | 10+ relevant requests, 2+ independent sources, 3+ people actively looking, 3+ in the last two years |
| NARROW | 3+ relevant requests, short of GO. The report lists narrower angles people use. |
| KILL | Fewer than 3 requests although 5+ posts discuss the topic |
| NO SIGNAL | Fewer than 3 requests and fewer than 5 posts on the topic: these sources cannot judge it |
| UNKNOWN | No source answered |
The thresholds live in radar.py (score()), not in a prompt.
What you get
- Tools:
demand_radar_check(idea + up to 2 other phrasings) anddemand_radar_history. - Slash command:
/radar <idea> [| other phrasing | other phrasing], in the CLI and in
every messaging gateway (Discord, Telegram, ...). In Discord the idea goes in the command's
argsfield. The in-process terminal chat gets bold and a coloured verdict, the chat attached to
the gateway gets plain text, messaging apps get Markdown. - Skill:
demand-radar:validate-idea: the full workflow. Radar first, then a web check of
who already sells it and at what price, then one verdict with reasons. - Report: a full HTML report of each check in the plugin's data folder: the verdict, the four GO
checks with the number behind each one, every quote with a link to its post, who already builds
it, and earlier checks of the same idea. The chat reply shows its path with your home folder as
~, so your account name never lands in a channel.
Install
hermes plugins install LeonardIrimia/hermes-demand-radar
hermes plugins enable demand-radar
No API key needed. Optional: a read-only GitHub token raises the GitHub search limit. Set it in
Desktop under Settings → Plugins → demand-radar, or as DEMAND_RADAR_GITHUB_TOKEN in your
profile .env.
Sources
Official, documented APIs only. No scraping, no browser cookies, no undocumented endpoints.
| Source | What it shows |
|---|---|
| Stack Exchange API (Software Recommendations, Super User, Webmasters, Startups, Personal Finance) | People asking for a tool |
| Hacker News search (Algolia) | Builders looking for something, complaints, and launches |
| GitHub issue search | Customers of existing products asking for what is missing |
Limit: these sources lean toward software builders. For a consumer or local-business idea,
expect NO SIGNAL more often; the validate-idea skill then sends Hermes to check incumbents and
prices on the web.
Quota: without a key, Stack Exchange allows 300 searches a day per IP address, and one check
uses 5 per phrasing. When the quota runs out, that source reports "failed" and the confidence
drops; the verdict never pretends it answered.
Disclosure
- Network: each check sends the idea text and your phrasings as search queries to
api.stackexchange.com,hn.algolia.comandapi.github.com. Nothing else leaves your machine. - Storage: check history (idea, date, verdict, counts) in a SQLite file and HTML reports,
both in the plugin's own data folder (<hermes home>/plugin-data/demand-radar/). - Credentials: only the optional GitHub token, read through Hermes's secret route. The plugin
reads no other files and stores no credentials. - No shell commands, background processes, telemetry, or Python dependencies (standard
library only).
Tests
python tests/test_radar.py
Nineteen offline tests cover the noise gate, product taglines, generic and two-letter words, the
verdict rules, the per-repo cap, failed sources, builders, clean quotes, the HTML report, the
terminal reply, and the report path shown in chat. They make no network calls.
Licence
MIT. Built by Leonard Irimia.
README from the reviewed commit bd9537f; it updates when the author re-pins.

LeonardIrimia