● Open Source CLI Tool

Reverse-engineer
any brand's funnel
in minutes.

Drop a brand name. Get a full stranger-to-advocate funnel map with Bustamante-style What's Working / What's Missing analysis — powered by GPT-4o-mini + Claude Sonnet. Under $0.50 per run.

See Demo Report (AG1) ↗ View on GitHub Quick Start ↓

Live demo — AG1 teardown report

funnelteardown.vercel.app/demo/ag1-teardown.html

Schwartz 7-level awareness framework

Unaware
Problem Aware
Solution Aware
Product Aware
Most Aware
Customer
Advocate

Every touchpoint, step, and offer is tagged with its awareness stage. Gaps become visible immediately.

What you get

Everything you need to steal the funnel.

One command, one report, full breakdown.

📡
Awareness Coverage Map
See exactly which Schwartz stages the brand is hitting — and which gaps they're leaving open for competitors.
⟶
Full Funnel Diagram
Mermaid.js flowchart of the complete stranger-to-advocate journey with color-coded awareness stages.
✓ / ⚡
Bustamante-Style Analysis
What's Working and What's Missing for every single funnel step. Specific, actionable, not generic.
💰
Offer Stack
All identified offers with price, type, awareness target, and connection to the funnel step that presents them.
❓
Epistemic Honesty
Open questions flag what couldn't be determined from public data — no hallucinated metrics or invented facts.
💾
Step Cache & Resume
Each agent's output is cached to .tmp/. Re-run just Agent 3 without repeating the web search.

How it works

3 agents, 1 report.

Sequential pipeline with shared Pydantic state.

1
Brand Resolver
gpt-4o-mini
Web search → identifies brand, website, founder, ICP, confidence level
2
Touchpoint Mapper
gpt-4o-mini
Web search + homepage scraping → maps all public channels by awareness level
3
Journey Mapper
claude-sonnet-4-6
Deep reasoning → full funnel map with steps, offers, working/missing, open questions
↓
HTML Report
pure Python
Deterministic renderer → dark-mode report with Mermaid.js diagrams

Quick start

Up in 3 minutes.

Requires Python 3.9+, an OpenAI key, and an Anthropic key.

1
Clone and install

Clone the repo and install Python dependencies.

git clone https://github.com/siddchauhan77/funnel-teardown
cd funnel-teardown
pip3 install -r requirements.txt
2
Add your API keys

Copy the env template and add your OpenAI + Anthropic keys.

cp .env.example .env
# Then edit .env:
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
3
Run your first teardown

Pass any brand name. Optionally add hints to disambiguate.

# Basic usage
python3 teardown.py "Athletic Greens"

# With disambiguation hints
python3 teardown.py "Justin Welsh" --url justinwelsh.me

# Re-run only the journey mapper (uses cached brand + touchpoints)
python3 teardown.py "Justin Welsh" --from-cache --agent 3

Output lands in output/{brand}_{timestamp}/teardown_report.html. Open it in any browser.

All CLI flags
python3 teardown.py "Brand Name" --founder "Founder Name" # disambiguation hint --url "website.com" # website hint --from-cache # load .tmp/ cache instead of re-running Agent 1+2 --agent 3 # start from this agent (1, 2, or 3)
DRAFTS TO DONE · WEEKLY

By Sidd Chauhan · draftstodone.substack.com · LinkedIn