Skip to main content

Daily morning brief + real-time anomaly alerts across Vercel / OpenPanel / HyperDX / Supabase / Product Hunt for indie launches.

Project description

funnel-analytics-agent

English | 中文

Daily morning brief + real-time anomaly alerts for indie launches. Reads Vercel + OpenPanel + HyperDX + Supabase + Product Hunt, surfaces what's broken before your users tell you.

License PyPI Python

Built by Alex Ji — solo founder shipping VibeXForge. Born from this thought:

On Product Hunt launch day my dashboard tabs were Vercel + OpenPanel + HyperDX + Supabase + Product Hunt + GitHub. Cycling through them = 1 hour/day. Missing a 5xx for 2 hours = lost the launch.

What it does

Two modes, one agent:

Brief mode — runs every morning (cron), composes a markdown brief from all data sources, drops it in your Obsidian vault. You read it over coffee in 30 seconds.

Alert mode — runs every 10 minutes during your launch window, exits with code 2 if anything critical/alert severity is found. Your wrapper script pages you (Telegram, Slack, ntfy.sh).

Sources (v0.9, 8 total):

  • Vercel — latest deployment state, deployments in last 24h, failed deploys
  • Product Hunt — live vote count, comment count, momentum check on launch day
  • Supabase advisor — security + performance lints; surfaces every CRITICAL individually
  • OpenPanel — count of tracked events (signup_completed, project_submit_completed, …) over last 24h; warns when an event drops to 0 (tracking regression)
  • HyperDX — error log count over last N hours; severity climbs from info → warn → alert as count crosses 10 / 50 thresholds
  • Build Quality — last 24h of pre-push reviews from build-quality-agent's local log (verdicts, BLOCK count, token spend)
  • Agent Spend — cross-agent Anthropic $ MTD aggregated across ~/.<agent>/usage.jsonl files
  • VibeX — direct SQL pull of core launch-board metrics (new creators / submissions / cumulative plays / stage distribution); zero Claude calls. Configure via VIBEX_PROJECT_REF (or reuse SUPABASE_PROJECT_REF if it's the same project)

Install

git clone https://github.com/alex-jb/funnel-analytics-agent.git
cd funnel-analytics-agent
pip install -e .
cp .env.example .env
# fill in VERCEL_TOKEN, PH_DEV_TOKEN, etc

Usage

# One-shot brief (default)
funnel-analytics-agent

# Write brief to file (e.g. for Obsidian vault)
funnel-analytics-agent --out ~/Documents/alex-brain/morning-briefs/$(date +%Y-%m-%d).md

# Real-time alert mode — exits 2 if anything critical
funnel-analytics-agent --alert

# Limit to specific source
funnel-analytics-agent --source vercel --source producthunt

Cron setup for Product Hunt launch day

# Every 7 minutes during the 24h launch window — alert mode
7,17,27,37,47,57 * * * 1 /usr/local/bin/funnel-analytics-agent --alert || curl -d "PH alert" ntfy.sh/your-topic

# Daily brief at 7:03 AM (post-cap-reset)
3 7 * * * /usr/local/bin/funnel-analytics-agent --out ~/Documents/alex-brain/morning-briefs/$(date +\%Y-\%m-\%d).md

Design choices

  • Each source fails independently. Vercel API down? Your brief still gets PH stats. The failed source is listed at the bottom of the brief; never kills the whole agent.
  • No external dependencies (yet). Pure stdlib urllib — no requests, no httpx, no API client SDKs. Keeps install fast and pip-install-friendly on locked-down boxes.
  • Markdown-first output. Output is meant to be human-readable in Obsidian / VS Code, not piped through a dashboard service.
  • Exit codes for cron, not push notifications. v0.1-v0.3 don't ship a Telegram/Slack adapter — your cron wrapper does that. Keeps the agent's surface tiny.
  • 7-day baseline auto-built from your own runs. No need to seed historical data. After 24h of cron runs the baseline starts forming; after 7 days it's solid. Bootstrap mode (no history) just skips delta calculation — never blocks output.

Roadmap

  • v0.1 — Vercel + Product Hunt sources · brief mode · alert mode · cron-friendly
  • v0.2 — OpenPanel, HyperDX, Supabase advisor sources (5 sources total, 30 tests)
  • v0.3 — 7-day baseline · delta_pct enrichment · severity promotion on >50% drops · 41 tests
  • v0.4 — Push notifier adapters (ntfy.sh / Telegram / Slack) + macOS launchd installer (54 tests)
  • v0.5 — Claude-summarized brief at top of every report (Haiku 4.5 default; ~$0.0008/run; falls back gracefully)
  • v0.8 — MCP server: query the morning brief / live alerts / per-source state from Claude Desktop

MCP server (Claude Desktop / Cursor / Zed)

Expose the brief, alert state, and individual sources as tools your AI assistant can call.

pip install 'funnel-analytics-agent[mcp]'

Then add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "funnel-analytics": {
      "command": "funnel-analytics-mcp",
      "env": {
        "VERCEL_TOKEN": "...",
        "VERCEL_PROJECT_ID": "...",
        "PH_DEV_TOKEN": "...",
        "PH_LAUNCH_SLUG": "your-launch-slug",
        "OPENPANEL_CLIENT_ID": "...",
        "OPENPANEL_CLIENT_SECRET": "...",
        "HYPERDX_API_KEY": "...",
        "SUPABASE_PERSONAL_ACCESS_TOKEN": "...",
        "SUPABASE_PROJECT_REF": "...",
        "ANTHROPIC_API_KEY": "..."
      }
    }
  }
}

Tools:

  • get_brief(include_summary) — full markdown morning brief
  • get_alerts() — alert-mode output: All clear or per-source severity
  • get_source(name) — single source (vercel / producthunt / openpanel / hyperdx / supabase)
  • usage_summary() — Anthropic token + $ totals from local usage log

License

MIT.

🧩 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
customer-discovery-agent Reddit pain-point scraper + Claude clustering for product validation
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

funnel_analytics_agent-0.12.0.tar.gz (44.8 kB view details)

Uploaded Source

Built Distribution

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

funnel_analytics_agent-0.12.0-py3-none-any.whl (41.2 kB view details)

Uploaded Python 3

File details

Details for the file funnel_analytics_agent-0.12.0.tar.gz.

File metadata

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

File hashes

Hashes for funnel_analytics_agent-0.12.0.tar.gz
Algorithm Hash digest
SHA256 edcb9bbd3c95a782b43c3eee6bde71c31f7032b42e687ada641d4d8fe0999925
MD5 0358508297c007af666582fab87c0d07
BLAKE2b-256 744feac3fba4a84ad364acf2d66df31787a55511a71dc41255e947bed5ce910b

See more details on using hashes here.

Provenance

The following attestation bundles were made for funnel_analytics_agent-0.12.0.tar.gz:

Publisher: release.yml on alex-jb/funnel-analytics-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 funnel_analytics_agent-0.12.0-py3-none-any.whl.

File metadata

File hashes

Hashes for funnel_analytics_agent-0.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 14cf66d3b748254ac787b27e1747fb6e7c01f0260721e0279f4e28bf47a42f2b
MD5 be3357c29428493a9cd74d444ebdb845
BLAKE2b-256 64a016f23ef8cacc11e240d1560975a4b0ecbd85a15e1e76e4219108f893f3c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for funnel_analytics_agent-0.12.0-py3-none-any.whl:

Publisher: release.yml on alex-jb/funnel-analytics-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