Signal is an on-demand market intelligence scanner. Point it at a topic and it scrapes Reddit for friction signals — complaints, workarounds, unmet needs — then clusters and ranks them into actionable product opportunities. The output is a scored report delivered to Notion or a local JSON file.
- Node.js >= 18
- A Reddit account (for API access)
- An Anthropic API key
- A Notion API key and a parent page ID (for Notion output)
npm installTo install globally as a CLI:
npm install -g .Copy .env.example to .env and fill in your keys:
ANTHROPIC_API_KEY=sk-ant-...
NOTION_API_KEY=ntn_...
NOTION_PARENT_PAGE_ID=...
# Scan default subreddits
signal --window=90 --min-upvotes=25 --min-comments=10
# Scan a specific topic
signal --topics=homebrewing --window=60 --min-upvotes=10 --min-comments=5
# Scan multiple topics, output to JSON
signal --topics=solar,batteries --output=jsonSignal runs a three-pass pipeline powered by Claude:
- Extract — Scans collected Reddit posts and pulls out individual friction signals: complaints, workarounds, wishes, and unmet needs.
- Cluster — Groups related signals into coherent themes, deduplicating and merging near-duplicates into opportunity clusters.
- Score — Ranks each cluster by market potential, considering signal frequency, emotional intensity, and feasibility.
The result is a prioritized list of product opportunities backed by real user evidence.
MIT — see LICENSE for details.