The funnel, frame by frame
see their whole funnel without clicking through it. scored step by stepmeasured
⤢
01
Homepage / Lander
Free trialLogo wall
Action
the path to convert. CTA, sign-up, checkoutmeasured
0/7nonepoints earned
No signals detected for this category on the captured funnel.
Not detected: proof above the fold.
Friction
objections answered, barriers removedmeasured
0/6nonepoints earned
No signals detected for this category on the captured funnel.
Not detected: FAQ / objection handling.
Value
why it’s worth it. comparison and reinforcementmeasured
0/7nonepoints earned
No signals detected for this category on the captured funnel.
Not detected: us-vs-them comparison.
UX signals
measured UX quality. contrast · mobile · type · a11y · layoutmeasured
Minor
2 flags · 10 checks
Measured UX quality. flags, not opinions. Deterministic, evidence-backed, and kept separate from the conversion score.
Readability & contrast
WCAG AA on measurable text. worst offenders quoted, never a fail we can’t compute.
NEEDS WORKText contrast (WCAG AA)
90% of measurable text passes WCAG AA. 4+ runs fail.
worst: “We use cookies” at 1:1 (19px, #ffffff on #ffffff). needs 4.5:1
Raise text/background contrast to ≥4.5:1 (≥3:1 for large text), especially on CTAs and body copy.
Mobile & tap targets
Responsive viewport + touch-target sizes where it matters.
GOODMobile viewport
Responsive viewport meta is present.
Typography
Body size, line-height, line length. is the pitch actually readable?
GOODBody text size
Base body text ~16px, smallest 13px.
NOTELine length
8 paragraphs run past ~95 characters per line.
Cap measure at ~60-75ch for comfortable reading.
Accessibility hygiene
Language, alt text, form labels, named controls, headings, link clarity.
GOODLanguage declared
html[lang] is set for screen readers.
GOODImage alt text
All 20 content images carry alt text.
NOTEForm labels
1 form field relies on placeholder text as the only label.
Back placeholders with a real <label>. placeholder text vanishes on input.
NEEDS WORKNamed controls
8 buttons/links have no accessible name (icon-only, no aria-label).
Add aria-label to icon-only buttons and links.
NOTELink text
5 links use generic text (“click here” / “learn more”).
Make link text describe its destination out of context.
NOTEHeading structure
The landing page has 5 <h1> elements (expected 1).
Use exactly one <h1> as the page’s title.
Next move
Now line it up against a competitor.
Paste any URL. We’ll run the same scan, the same rubric, and put the two funnels side by side. category by category, all measured.
Live scan · 15-25 sec · same rubric · nothing is guessed
Brand kit
palette by on-page usage · type rendered livemeasured
full palette ordered by on-page usage %
accent
Body copy in their text role, on a surface card.
the roles, doing their job
The quick brown fox100px
Jumps over the lazy dog50px
A subheading in their voice35px
Body copy set at their measured paragraph size. This is how their product reads to a first-time visitor. same family, same scale, same weight.
- List item one, at body scale
- List item two
- List item three
Teardown report. copy for your LLM
the full evidence-based read: what this funnel does well, where it is thin, and the on-page proof for each. paste into any agent to learn from
whoop.com · 0/3 tactics · 0 proof templates · evidence-backed
# Agent Brief. build in the style of whoop.com
> Machine-extracted from a live on-demand funnel teardown (2026-07-18). 100% facts —
> measured tokens, detected patterns, harvested proof strings. No LLM interpretation.
> Single-page capture (MVP): homepage/landing page only, no funnel walk.
> Tokens: `tokens.json` / `tailwind.css`.
**Category (label):** —
**Funnel:** Homepage / Lander
## Palette (area-weighted from live CSS)
| Hex | Usage | Likely role |
|-----|------:|-------------|
| `#ffffff` | 51.3% | background |
| `#000000` | 46.3% | support |
| `#f3f5f9` | 1.6% | background |
| `#4a53ff` | 0.4% | accent/brand |
| `#ebebeb` | 0.3% | background |
| `#f7f3f3` | 0% | background |
| `#666666` | 0% | support |
Curated roles: `primary=#f3f5f9` · `accent=#f3f5f9` · `bg=#ffffff` · `surface=#f3f5f9` · `text=#000000`
## Type
- Display: `proxima-nova`
- Body: `proxima-nova`
- Size scale (px): 12, 13, 14, 15, 16, 19, 20, 24, 32, 35, 50, 100
- Radius (px): 16, 20, 24, 50, 60, 9999
## Patterns detected (fact-based). 0/3
- _(none detected)_
## Proof language (harvested strings → templates)
- _(none extracted)_
## Funnel facts
- Depth reached: 1 step(s) (single-page MVP capture)
- Proof points: 0 across 0 step(s)
- Discount/anchor pricing: no · Countdown: no · Subscription: no
## To replicate
Match the palette + type tokens above and deploy the detected patterns. This is a single-page capture. no cart/checkout tactics were evaluated.