Inspiration

We kept running into the same growth loop problem: dashboards say “traffic dipped,” but turning that into actionable fixes takes days: hunting posts on Reddit/Devpost, summarizing pain points, drafting ideas, getting buy‑in, opening tickets. We wanted a closed‑loop, human‑approved system that goes from signal → diagnosis → experiment → ship in minutes.

What it does

Detects a drop in Devpost page views (using Mixpanel; we simulate traffic for the hackathon).

Discovers root‑cause signals by triggering Bright Data web discovery (Reddit, Devpost discussions, the broader web).

Scores sentiment & themes with Senso.ai (with a lightweight local fallback during dev).

Proposes experiments (copy/UX/FAQ banners/SEO) via Arcade.dev + LLM.

Creates Slack + Jira artifacts for human‑in‑the‑loop approval.

Closes the loop: approved experiments by humans are deployed; uplift is measured back in Mixpanel.

How we built it

Data plane (Mixpanel)

Generated/imported NDJSON Page Viewed events (added $insert_id, fixed time to avoid “future timestamp” errors).

Selector script (select_target_100.py) exports a window (Jul 1–26, 2025), ranks users, and posts the target 100 to our API.

Orchestrator API (FastAPI + SQLite)

dispatcher_bd.py endpoint /targets/sync receives users and triggers Bright Data:

POST /datasets/v3/trigger?dataset_id=gd_…&type=discover_new&discover_by=keyword

Polls progress; downloads snapshot; normalizes {url,title,excerpt} across JSON/NDJSON shapes.

Stores docs and a naive sentiment into SQLite (agents.db).

Exposes /inbox to review runs, plus /health and small /debug/* routes for fast iteration.

Senso.ai

API receives normalized docs and returns sentiment & themes (e.g., judging fairness, rules clarity, account/login, prize fulfillment).

We keep a local keyword‑based fallback so the loop runs even without the external model.

Arcade.dev

Given a drop + top themes, Arcade prompts an LLM to draft experiments (e.g., “Add ‘What to expect’ CTA on /discussions”, “Clarify prize timelines on /projects”).

Autogenerates Slack summaries and Jira tickets (title, description, acceptance criteria).

Human approves before anything ships.

Challenges we ran into

Trying out Api services and integrating them, we were finally able to do it.

Accomplishments that we're proud of

True end‑to‑end loop working locally: Mixpanel signal → Bright Data discovery → Senso themes → Arcade experiments → Slack/Jira output.

Fast iteration UX: /inbox shows runs; debug routes validate search/scrape in seconds.

Pluggable vendors: Swapping MCP ↔︎ REST and changing sentiment providers is low friction.

Reproducible demos: One command seeds data, selects users, and triggers the whole pipeline.

What we learned

Observability beats guesswork: Small health/debug endpoints reduce 80% of integration time.

Design for boundaries: Keeping providers behind narrow interfaces pays off when tokens, endpoints, or schemas change.

Human approval is leverage: LLMs create options; people choose wisely—fast and safe beats fully automatic.

What's next for Growth Labs

Production hardening: event‑driven triggers (webhooks), retries, idempotency, and structured logging.

Better NLP: aspect‑based sentiment + topic summaries; multilingual coverage.

Experiment rigor: CUPED/causal baselines, guardrails, and auto‑rollback on regressions.

Cost & performance: caching, deduping per URL/domain, incremental refreshes.

Governance & privacy: stricter redaction, access controls, and audit trails.

Playbook library: reusable “dip → fix” recipes (SEO, onboarding friction, trust & safety, latency messaging).

Built With

Share this project:

Updates