Skip to main content

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.

Metadata

Release files for customer-discovery-agent 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for customer-discovery-agent 0.5.0
File Size Uploaded
customer_discovery_agent-0.5.0.tar.gz 23.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for customer-discovery-agent 0.5.0
File Interpreter ABI Platform
customer_discovery_agent-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 42.1 kB

Release files / customer_discovery_agent-0.5.0.tar.gz

Download URL customer_discovery_agent-0.5.0.tar.gz
Size 23.7 kB
Tags Source
SHA-256 checksum
How to use checksums
4d7f32e32a0db9bee9c6655a51214e542e4f8c4bf9f21ae8c6dbfc115189509c
BLAKE2b-256 checksum
How to use checksums
c1dc6c1db68af519acb340c422b2744b5bc5761c5ee9384f24b77887815face8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 8, 2026.

Transparency log

Release files / customer_discovery_agent-0.5.0-py3-none-any.whl

Download URL customer_discovery_agent-0.5.0-py3-none-any.whl
Size 18.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bf29dba0ec882127d861997240b95b1d275be905f66b9668e6e097320954534e
BLAKE2b-256 checksum
How to use checksums
3c9f226a8a99e8c119fe92b93aff90c3b8c46b6f7a9c3cffec61de5f52bd88ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page