Skip to main content

Scan online communities (Reddit, +) for maker pain points; cluster into a weekly digest.

Project description

customer-discovery-agent

English | 中文

Scan online communities for maker pain points. Cluster into themes. Get a weekly digest of what your future users are actually frustrated about.

License PyPI Python Tests Sources

Built by Alex Ji — solo founder shipping VibeXForge, Orallexa, and marketing-agent. Born from this thought:

I keep guessing what indie makers actually need. Reddit knows.

What it does

customer-discovery-agent scan \
  --subreddits SaaS IndieHackers SideProject Entrepreneur \
  --hours 168 \
  --out digest.md

For each enabled subreddit, the agent:

  1. Pulls top + new posts in the last --hours window
  2. Filters by pain-pattern keywords (default: 17 phrases like "i wish", "frustrated", "is there a tool", "struggle with")
  3. Sends matches to Claude Haiku for theme clustering (3-7 clusters)
  4. Renders a markdown digest with representative quotes + sample URLs

Without ANTHROPIC_API_KEY, falls back to deterministic keyword-based clustering — still useful, just less coherent.

Sample output

# Customer Discovery Digest

*Window: last 168h · Sources: reddit*
*Pain points scanned: 47 · Clusters: 5*

## Top themes

### Founders frustrated with Vercel build minutes

**8 posts · avg score 42.5**

> $130 in build minutes this month, half from failed type-check pushes

Sample posts:
- https://reddit.com/r/SaaS/comments/...
- https://reddit.com/r/IndieHackers/comments/...

Install

git clone https://github.com/alex-jb/customer-discovery-agent.git
cd customer-discovery-agent
pip install -e .

Set Reddit credentials (PRAW script app at https://reddit.com/prefs/apps):

export REDDIT_CLIENT_ID=...
export REDDIT_CLIENT_SECRET=...
export REDDIT_USERNAME=...
export REDDIT_PASSWORD=...
export REDDIT_USER_AGENT="customer-discovery-agent/0.1 by yourname"

Optional: ANTHROPIC_API_KEY for LLM clustering.

CLI

customer-discovery-agent scan
  --subreddits SaaS IndieHackers SideProject ...   (required)
  --hours 168                                       (lookback window)
  --keywords "i wish" "frustrated" ...             (override default list)
  --min-score 5                                     (skip posts below this)
  --limit 100                                       (max posts per subreddit per stream)
  --max-clusters 7
  --out digest.md                                   (default: stdout)

Roadmap

  • v0.1 — Reddit scraper + keyword filter + Claude clustering + markdown digest
  • v0.2 — IndieHackers RSS, X timeline, 即刻 search, 知乎 question scraper
  • v0.3 — Email shipping (Resend / Mailgun), GitHub Actions weekly cron
  • v0.4 — Embedding-based semantic clustering (replaces LLM cluster call for cost)
  • v0.5 — Cross-week diffing — "this theme grew 3x this week"

Why this exists

Solo founders make two systematic mistakes about user research:

  1. Building from gut: skipping discovery → product-without-buyers
  2. Doing it manually: scrolling Reddit for hours → either burns weeks or stops happening

This agent runs as a Sunday night cron, drops a digest in your inbox Monday morning, and your guesses become literal quotes from your future users. ~$0.001 / scan in template mode, ~$0.05 / scan with LLM clustering on a busy week.

MCP server (Claude Desktop / Cursor / Zed)

Ask "scan IndieHackers for pain points this week" inline from your AI assistant.

pip install 'customer-discovery-agent[mcp]'
{
  "mcpServers": {
    "customer-discovery": {
      "command": "customer-discovery-mcp",
      "env": { "ANTHROPIC_API_KEY": "..." }
    }
  }
}

Tools: scan(subreddits, hours, …) · latest_digest(directory) · keyword_list()

License

MIT — use it, fork it, add IndieHackers and 即刻 to it.

🧩 Part of the Solo Founder OS stack

A growing collection of MIT-licensed agents that share solo-founder-os as their base — Source/MetricSample contracts, HITL queue, AnthropicClient, notifiers, scheduler. Each agent is independently useful; together they cover the full solo-founder workflow.

Agent What it does
solo-founder-os The shared base lib (Source/MetricSample, AnthropicClient, HITL queue, notifiers, sfos-doctor / sfos-evolver / sfos-eval / sfos-retro / sfos-bus / sfos-inbox)
build-quality-agent Pre-push diff reviewer + local build runner — catches CI-killing changes before they ship
funnel-analytics-agent Daily brief + real-time alerts across 9 sources (Vercel, GitHub, Supabase, etc.)
vc-outreach-agent Investor cold email drafter with HITL queue + SMTP sender
cost-audit-agent Monthly bill audit across 6 providers with dollar-tagged waste findings
bilingual-content-sync-agent EN ⇄ ZH i18n diff + Claude translate + HITL apply
orallexa-marketing-agent AI marketing agent for OSS founders — auto-generate platform-specific marketing posts

Each agent's own row is omitted from its README. Install whichever solve real problems for you.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

customer_discovery_agent-0.5.0.tar.gz (23.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

customer_discovery_agent-0.5.0-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

Details for the file customer_discovery_agent-0.5.0.tar.gz.

File metadata

  • Download URL: customer_discovery_agent-0.5.0.tar.gz
  • Upload date:
  • Size: 23.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for customer_discovery_agent-0.5.0.tar.gz
Algorithm Hash digest
SHA256 4d7f32e32a0db9bee9c6655a51214e542e4f8c4bf9f21ae8c6dbfc115189509c
MD5 7a585c490b86b0c6d3a39a8cb5b6c6eb
BLAKE2b-256 c1dc6c1db68af519acb340c422b2744b5bc5761c5ee9384f24b77887815face8

See more details on using hashes here.

Provenance

The following attestation bundles were made for customer_discovery_agent-0.5.0.tar.gz:

Publisher: release.yml on alex-jb/customer-discovery-agent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file customer_discovery_agent-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for customer_discovery_agent-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bf29dba0ec882127d861997240b95b1d275be905f66b9668e6e097320954534e
MD5 61bb2b099ea5cf5e10f5823591adbcb1
BLAKE2b-256 3c9f226a8a99e8c119fe92b93aff90c3b8c46b6f7a9c3cffec61de5f52bd88ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for customer_discovery_agent-0.5.0-py3-none-any.whl:

Publisher: release.yml on alex-jb/customer-discovery-agent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page