{
  "schema_version": "1.0",
  "generated_at": "2026-09-06T03:04:52.903Z",
  "slug": "whoop",
  "domain": "whoop.com",
  "funnel_type": "saas",
  "crawler": {
    "id": "roentgen",
    "name": "Roentgen",
    "kind": "surface",
    "version": "1.10",
    "label": "Roentgen 1.10",
    "status": "live",
    "tagline": "Surface funnel x-ray",
    "xrays": "A funnel from lander to checkout — the pages a visitor actually walks.",
    "produces": "A scored, evidence-backed teardown: design tokens, proof language, and the exact conversion tactics each page runs — every fact carrying its on-page evidence.",
    "destination": "/ux-report/<slug>",
    "changelog": [
      {
        "version": "1.10",
        "date": "2026-07-29",
        "summary": "Element-level tactic rects: the walk now records each conversion element (strikethrough/anchor price, rating, money-back guarantee, scarcity, no-credit-card, countdown) as page-fraction coordinates on the SAME crawl as the full-page screenshot, so the Element Library can crop the exact on-page pixels. A media gate drops any candidate sitting over a photo/background-image (kept honest: a rect we can't cleanly show is dropped, never guessed). Additive — display-only, zero scoring drift; Worker + CLI parity."
      },
      {
        "version": "1.9",
        "date": "2026-07-28",
        "summary": "Overlay auto-dismiss before capture: the Worker now clears cookie/consent + newsletter popups (main doc + every subframe, catching iframe Klaviyo/Attentive modals) that previously froze in screenshots — parity with the CLI. Goto-only, never after an in-funnel click."
      },
      {
        "version": "1.8",
        "date": "2026-07-24",
        "summary": "Price extraction reads currency-code suffixes (\"25.99 USD\"), not just leading symbols — parity across the Worker + CLI extractors."
      },
      {
        "version": "1.7",
        "date": "2026-07-23",
        "summary": "scarcity_stock + press_features detectors (display-only, zero scoring drift)."
      },
      {
        "version": "1.6",
        "date": "2026-07-21",
        "summary": "Multi-funnel discovery: sibling product funnels walked as coexisting siblings (flag-gated)."
      },
      {
        "version": "1.5",
        "date": "2026-07-20",
        "summary": "Auto-walk discovers review/affiliate funnels one click past an editorial homepage."
      },
      {
        "version": "1.4",
        "date": "2026-07-17",
        "summary": "Detection-shape gaps: words-based comparison tables, engine-metric usage proof, docs/demo links."
      },
      {
        "version": "1.3",
        "date": "2026-07-17",
        "summary": "Funnel identity (funnel_sig): different answer-paths coexist as sibling funnels; primary = deepest."
      },
      {
        "version": "1.2",
        "date": "2026-07-17",
        "summary": "Scoring-precision audit: guarantee shapes, store-URL weights, free-trial, per-unit price."
      },
      {
        "version": "1.1",
        "date": "2026-07-16",
        "summary": "Per-step DOM snapshots + skeletons, video/embed signal, broader SaaS proof vocabulary."
      },
      {
        "version": "1.0",
        "date": "2026-07-15",
        "summary": "Baseline: funnel walk, tactic detectors, funnel-type-aware scoring, UX signals, section crops."
      }
    ]
  },
  "provenance": {
    "facts": "measured",
    "design_tokens": "measured",
    "proof_language": "measured",
    "ux": "measured",
    "steps": "measured",
    "screenshots": "measured",
    "favicon": "measured",
    "score": "derived_deterministic",
    "agent_brief": "rendered_summary",
    "playbooks": "derived_deterministic"
  },
  "score": {
    "source_type": "derived_deterministic",
    "score": 25,
    "band": "Sparse",
    "stars": 1,
    "categories": [
      {
        "id": "offer",
        "label": "Offer clarity",
        "pts": 0,
        "cap": 8
      },
      {
        "id": "action",
        "label": "Action path",
        "pts": 6,
        "cap": 20
      },
      {
        "id": "trust",
        "label": "Trust & proof",
        "pts": 6,
        "cap": 11
      },
      {
        "id": "friction",
        "label": "Friction reduction",
        "pts": 4,
        "cap": 10
      },
      {
        "id": "value",
        "label": "Value reinforcement",
        "pts": 0,
        "cap": 10
      },
      {
        "id": "urgency",
        "label": "Risk reversal & urgency",
        "pts": 0,
        "cap": 0
      }
    ]
  },
  "percentile": {
    "corpus_n": 584,
    "beats_pct": 44,
    "depth_class": "entry_page",
    "cohort": {
      "type": "saas",
      "n": 314,
      "beats_pct": 35
    }
  },
  "devices_available": [
    "desktop",
    "mobile"
  ],
  "funnels": [
    {
      "device": "desktop",
      "funnel_sig": "home",
      "score": 25,
      "band": "Sparse",
      "funnel_depth": 1,
      "captured_at": "2026-07-30",
      "crawler": "Roentgen 1.10"
    },
    {
      "device": "mobile",
      "funnel_sig": "home",
      "score": 25,
      "band": "Sparse",
      "funnel_depth": 1,
      "captured_at": "2026-07-30",
      "crawler": "Roentgen 1.10"
    }
  ],
  "timeline": [
    {
      "score": 0,
      "band": "Sparse",
      "detected": 0,
      "crawler": "Roentgen 1.4",
      "date": "2026-07-18"
    },
    {
      "score": 25,
      "band": "Sparse",
      "detected": 2,
      "crawler": "Roentgen 1.10",
      "date": "2026-07-30"
    }
  ],
  "facts": {
    "source_type": "measured",
    "profile": {
      "funnel_type": "saas",
      "score": {
        "score": 25,
        "band": "Sparse",
        "stars": 1,
        "categories": [
          {
            "id": "offer",
            "label": "Offer clarity",
            "pts": 0,
            "cap": 8
          },
          {
            "id": "action",
            "label": "Action path",
            "pts": 6,
            "cap": 20
          },
          {
            "id": "trust",
            "label": "Trust & proof",
            "pts": 6,
            "cap": 11
          },
          {
            "id": "friction",
            "label": "Friction reduction",
            "pts": 4,
            "cap": 10
          },
          {
            "id": "value",
            "label": "Value reinforcement",
            "pts": 0,
            "cap": 10
          },
          {
            "id": "urgency",
            "label": "Risk reversal & urgency",
            "pts": 0,
            "cap": 0
          }
        ]
      },
      "funnel_depth": 1,
      "proof_points": 0,
      "proof_steps": 0,
      "components_present": 3,
      "free_gifts": 0,
      "discount_present": false,
      "has_countdown": false,
      "subscription_detected": false,
      "checkout_form_fields": 0,
      "price_continuity": {
        "continuous": false,
        "shared": []
      },
      "tactics_detected": 2,
      "tactics_total": 11,
      "checkout_reached": null
    },
    "patterns": [
      {
        "id": "comparison_table",
        "label": "Us-vs-them comparison",
        "category": "objection",
        "present": false,
        "count": 0,
        "evidence": []
      },
      {
        "id": "demo_docs",
        "label": "Demo / docs entry",
        "category": "checkout",
        "present": false,
        "count": 0,
        "evidence": []
      },
      {
        "id": "faq_objection",
        "label": "FAQ / objection handling",
        "category": "objection",
        "present": false,
        "count": 0,
        "evidence": []
      },
      {
        "id": "free_trial",
        "label": "Free trial / freemium",
        "category": "offer",
        "present": true,
        "count": 1,
        "evidence": [
          "home: free trial"
        ]
      },
      {
        "id": "lead_form",
        "label": "Lead-capture form",
        "category": "checkout",
        "present": false,
        "count": 0,
        "evidence": []
      },
      {
        "id": "press_features",
        "label": "Press / \"as seen in\"",
        "category": "proof",
        "present": false,
        "count": 0,
        "evidence": []
      },
      {
        "id": "pricing_tiers",
        "label": "Pricing tiers",
        "category": "offer",
        "present": false,
        "count": 0,
        "evidence": []
      },
      {
        "id": "proof_above_fold",
        "label": "Proof above the fold",
        "category": "proof",
        "present": false,
        "count": 0,
        "evidence": []
      },
      {
        "id": "scarcity_stock",
        "label": "Scarcity / urgency copy",
        "category": "urgency",
        "present": false,
        "count": 0,
        "evidence": []
      },
      {
        "id": "trusted_by_logos",
        "label": "Trusted-by logo wall",
        "category": "proof",
        "present": true,
        "count": 1,
        "evidence": [
          "home: backed by"
        ]
      },
      {
        "id": "usage_proof",
        "label": "Usage / adoption proof",
        "category": "proof",
        "present": false,
        "count": 0,
        "evidence": []
      }
    ]
  },
  "design_tokens": {
    "source_type": "measured",
    "summary": {
      "roles": {
        "primary": "#f3f5f9",
        "accent": "#f3f5f9",
        "bg": "#ffffff",
        "surface": "#f3f5f9",
        "text": "#000000"
      },
      "font": {
        "display": "proxima-nova",
        "body": "proxima-nova",
        "families": [
          {
            "family": "proxima-nova",
            "chars": 6342
          }
        ]
      },
      "type_scale": [
        12,
        14,
        15,
        16,
        19,
        20,
        24,
        32,
        35,
        50,
        100,
        120
      ],
      "weights": [
        400,
        500,
        600,
        700
      ],
      "base_size": 22,
      "min_size": 12,
      "radius_scale": [
        8,
        16,
        20,
        24,
        50,
        9999
      ],
      "palette": [
        {
          "hex": "#ffffff",
          "usage_pct": 50.5,
          "lum": 1,
          "chroma": 0
        },
        {
          "hex": "#000000",
          "usage_pct": 42.7,
          "lum": 0,
          "chroma": 0
        },
        {
          "hex": "#191919",
          "usage_pct": 3.5,
          "lum": 0.1,
          "chroma": 0
        },
        {
          "hex": "#f3f5f9",
          "usage_pct": 2.9,
          "lum": 0.96,
          "chroma": 0.02
        },
        {
          "hex": "#4a53ff",
          "usage_pct": 0.4,
          "lum": 0.37,
          "chroma": 0.71
        },
        {
          "hex": "#00f19f",
          "usage_pct": 0,
          "lum": 0.72,
          "chroma": 0.95
        },
        {
          "hex": "#666666",
          "usage_pct": 0,
          "lum": 0.4,
          "chroma": 0
        }
      ]
    }
  },
  "proof_language": [],
  "ux": {
    "summary": {
      "flags": 2,
      "unknown": 0,
      "posture": "Minor",
      "checks_total": 10
    },
    "checks": [
      {
        "group": "contrast",
        "label": "Text contrast (WCAG AA)",
        "verdict": "needs_work",
        "fact": "93% of measurable text passes WCAG AA. 4+ runs fail.",
        "evidence": "worst: “SportFlex” at 2.85:1 (14px, #999999 on #ffffff). needs 4.5:1",
        "fix": "Raise text/background contrast to ≥4.5:1 (≥3:1 for large text), especially on CTAs and body copy."
      },
      {
        "group": "mobile",
        "label": "Mobile viewport",
        "verdict": "good",
        "fact": "Responsive viewport meta is present."
      },
      {
        "group": "type",
        "label": "Body text size",
        "verdict": "good",
        "fact": "Base body text ~16px, smallest 14px."
      },
      {
        "group": "type",
        "label": "Line length",
        "verdict": "note",
        "fact": "7 paragraphs run past ~95 characters per line.",
        "fix": "Cap measure at ~60-75ch for comfortable reading."
      },
      {
        "group": "a11y",
        "label": "Language declared",
        "verdict": "good",
        "fact": "html[lang] is set for screen readers."
      },
      {
        "group": "a11y",
        "label": "Image alt text",
        "verdict": "good",
        "fact": "All 23 content images carry alt text."
      },
      {
        "group": "a11y",
        "label": "Form labels",
        "verdict": "note",
        "fact": "1 form field relies on placeholder text as the only label.",
        "fix": "Back placeholders with a real <label>. placeholder text vanishes on input."
      },
      {
        "group": "a11y",
        "label": "Named controls",
        "verdict": "needs_work",
        "fact": "8 buttons/links have no accessible name (icon-only, no aria-label).",
        "fix": "Add aria-label to icon-only buttons and links."
      },
      {
        "group": "a11y",
        "label": "Link text",
        "verdict": "note",
        "fact": "5 links use generic text (“click here” / “learn more”).",
        "fix": "Make link text describe its destination out of context."
      },
      {
        "group": "a11y",
        "label": "Heading structure",
        "verdict": "note",
        "fact": "The landing page has 5 <h1> elements (expected 1).",
        "fix": "Use exactly one <h1> as the page’s title."
      }
    ],
    "signals": {
      "contrast": {
        "sampled": 166,
        "pass_aa": 140,
        "fail_aa": 10,
        "unknown": 16,
        "worst": [
          {
            "text": "SportFlex",
            "ratio": 2.85,
            "fg": "#999999",
            "bg": "#ffffff",
            "need": 4.5,
            "px": 14
          },
          {
            "text": "CloudKnit",
            "ratio": 2.85,
            "fg": "#999999",
            "bg": "#ffffff",
            "need": 4.5,
            "px": 14
          },
          {
            "text": "SuperKnit",
            "ratio": 2.85,
            "fg": "#999999",
            "bg": "#ffffff",
            "need": 4.5,
            "px": 14
          },
          {
            "text": "CoreKnit",
            "ratio": 2.85,
            "fg": "#999999",
            "bg": "#ffffff",
            "need": 4.5,
            "px": 14
          }
        ]
      },
      "typography": {
        "body_px": 16,
        "min_body_px": 14,
        "line_height": 1.3,
        "long_lines": 7,
        "distinct_sizes": 7
      },
      "a11y": {
        "lang": true,
        "viewport": true,
        "img_total": 23,
        "img_missing_alt": 0,
        "controls_total": 1,
        "controls_unlabeled": 0,
        "controls_placeholder_only": 1,
        "controls_unnamed": 8,
        "generic_links": 5,
        "h1_home": 5,
        "h1_counts": [
          5
        ],
        "heading_skips": 7
      },
      "tap_targets": {
        "checked": 89,
        "small": 68,
        "sample": [
          {
            "label": "TRIAL WHOOP",
            "w": 104,
            "h": 21
          },
          {
            "label": "MEMBERSHIPS",
            "w": 107,
            "h": 21
          },
          {
            "label": "Save with HSA & FSA",
            "w": 141,
            "h": 20
          },
          {
            "label": "(unnamed)",
            "w": 205,
            "h": 24
          }
        ]
      },
      "layout": {
        "h_overflow": false,
        "overflow_px": 0
      },
      "viewport_w": 1440
    }
  },
  "playbooks": [],
  "steps": [
    {
      "n": 1,
      "id": "home",
      "label": "Homepage / Lander",
      "url": "https://www.whoop.com/us/en/",
      "reached": true,
      "copy": {
        "title": "WHOOP | Unlock Human Performance & Healthspan",
        "meta_description": "Optimize sleep, strain, and recovery with WHOOP, the most advanced fitness and health wearable. With personalized insights, improve performance, build healthier habits, and extend healthspan with continuous health monitoring.",
        "hero_copy": "The wearable designed for lasting progress | Wear WHOOP daily, improve your health | Get a complete picture of your health",
        "h1": [
          "The wearable designed for lasting progress",
          "\"WHOOP has been a huge motivator to a healthier lifestyle.\"",
          "\"WHOOP has helped me greatly improve my physical health and wellbeing\"",
          "\"Healthspan has helped me adjust my behaviors to help increase longevity.\"",
          "\"WHOOP continues to transform my approach to health and wellness daily.\""
        ],
        "h2": [
          "Wear WHOOP daily, improve your health",
          "Get a complete picture of your health",
          "Choose a membership",
          "Backed by PHDs, worn by MVPs",
          "Built to be worn 24/7",
          "One device, endless ways to wear it",
          "Support",
          "Company"
        ],
        "h3": [
          "Memberships",
          "Health Features",
          "Quantify how your body is feeling",
          "Extend your prime for years to come",
          "Optimize your sleep",
          "Measure the impact of every step and rep",
          "Stay connected to your heart health",
          "Get daily Blood Pressure Insights"
        ],
        "ctas": [
          "JOIN NOW",
          "TRY WHOOP FOR FREE",
          "START WITH ONE",
          "LEARN MORE",
          "START WITH PEAK",
          "START WITH LIFE",
          "Zero distractions",
          "Always on sensors",
          "14+ day battery life",
          "Completely customizable",
          "LEATHERLUXE",
          "SPORTFLEX"
        ],
        "prices": [],
        "form_fields": 1,
        "form_field_names": [
          "email"
        ],
        "video": {
          "count": 2,
          "native": 2,
          "providers": []
        }
      },
      "proof": [],
      "proof_position": {
        "in_header": false,
        "above_fold": false,
        "above_fold_text": null
      },
      "discount": {
        "present": false,
        "anchors": [],
        "percent_off": null
      },
      "subscription": {
        "detected": false,
        "interval": null
      },
      "free_items": [],
      "tactics": [
        "sticky_cta",
        "free_trial",
        "social_proof_logos"
      ],
      "tactics_evidence": {
        "review_wall": null,
        "comparison_table": null,
        "countdown_timer": null,
        "free_gift": null,
        "subscription_toggle": null,
        "faq_accordion": null,
        "trust_badges": null,
        "press_logos": null,
        "per_unit_price": null,
        "free_shipping": null,
        "free_trial": "free trial",
        "no_credit_card": null,
        "social_proof_logos": "backed by",
        "usage_proof": null,
        "pricing_tiers": null,
        "demo_docs": null,
        "express_checkout": null
      },
      "ux_flags": {
        "contrast_fail": 10,
        "contrast_unknown": 16,
        "aa_pass_pct": 93,
        "min_body_px": 14,
        "small_taps": 68,
        "h_overflow": false,
        "lang": true,
        "viewport": true,
        "h1_count": 5
      },
      "discovery": null,
      "tactic_regions": [],
      "screenshots": {
        "hero": "https://api.uxxray.com/api/v1/teardown/whoop/screenshot/2026-07-30/desktop/01-home/hero.png",
        "full": "https://api.uxxray.com/api/v1/teardown/whoop/screenshot/2026-07-30/desktop/01-home/full.png",
        "heroDims": null,
        "fullDims": null
      },
      "crops": [
        {
          "region": "primary_cta",
          "label": "Primary CTA",
          "url": "https://api.uxxray.com/api/v1/teardown/whoop/screenshot/2026-07-30/desktop/01-home/crops/primary_cta.png"
        }
      ],
      "crops_note": "The WALK's crops: at most two per step, cut live by the browser from the two regions it looks for (primary_cta, proof). An empty array means neither matched on this page, which is ordinary. These are NOT the /library/elements and /library/sections crop images: those are cut at BUILD time from the stored full-page screenshot at measured element and band coords, over the listed corpus, and a scan does not produce them."
    }
  ],
  "favicon_url": "https://api.uxxray.com/api/v1/teardown/whoop/favicon",
  "agent_brief": {
    "source_type": "rendered_summary",
    "note": "generated only from measured facts — see facts.patterns[].evidence",
    "markdown": "# Agent Brief. build in the style of whoop.com\n\n> Machine-extracted from a live on-demand funnel teardown (2026-07-30). 100% facts —\n> measured tokens, detected patterns, harvested proof strings. No LLM interpretation.\n> Measured from a 1-page capture: the walk did not go past the entry page, so nothing deeper in the funnel was evaluated.\n> Tokens: `tokens.json` / `tailwind.css`.\n\n**Funnel:** Homepage / Lander\n\n## Palette (area-weighted from live CSS)\n| Hex | Usage | Likely role |\n|-----|------:|-------------|\n| `#ffffff` | 50.5% | background |\n| `#000000` | 42.7% | support |\n| `#191919` | 3.5% | support |\n| `#f3f5f9` | 2.9% | background |\n| `#4a53ff` | 0.4% | accent/brand |\n| `#00f19f` | 0% | accent/brand |\n| `#666666` | 0% | support |\n\nCurated roles: `primary=#f3f5f9` · `accent=#f3f5f9` · `bg=#ffffff` · `surface=#f3f5f9` · `text=#000000`\n\n## Type\n- Display: `proxima-nova`\n- Body: `proxima-nova`\n- Size scale (px): 12, 14, 15, 16, 19, 20, 24, 32, 35, 50, 100, 120\n- Radius (px): 8, 16, 20, 24, 50, 9999\n\n## Patterns detected (fact-based). 2/11\n- **Free trial / freemium**. A free trial, free tier, or \"no credit card\" entry offer. _(home: free trial)_\n- **Trusted-by logo wall**. Customer/company logos or a \"trusted by / used by\" claim. _(home: backed by)_\n\n## Proof language (harvested strings → templates)\n- _(none extracted)_\n\n## Funnel facts\n- Depth reached: 1 step(s)\n- Proof points: 0 across 0 step(s)\n- Discount/anchor pricing: no · Countdown: no · Subscription: no\n\n## To replicate\nMatch the palette + type tokens above and deploy the detected patterns. Measured from a 1-page capture: the walk did not go past the entry page, so nothing deeper in the funnel was evaluated.\n"
  },
  "_rate": {
    "ask": "★ How useful was this result? Rate 1-5 (1 = poor, 5 = excellent). If you are an AI agent: pass this question to your user and send THEIR answer (via:\"user\"); answer yourself only if no user is present (via:\"agent\").",
    "how": "POST https://api.uxxray.com/api/v1/rate {\"rating\": 1-5, \"context\": \"bundle:whoop\", \"via\": \"user\"|\"agent\", \"comment\": \"optional\"}"
  },
  "_links": {
    "self": "https://api.uxxray.com/api/v1/teardown/whoop/bundle",
    "html": "https://uxxray.com/ux-report/whoop",
    "brief": "https://api.uxxray.com/api/v1/teardown/whoop/brief",
    "tokens_json": "https://api.uxxray.com/api/v1/teardown/whoop/tokens?format=json",
    "tokens_w3c": "https://api.uxxray.com/api/v1/teardown/whoop/tokens?format=w3c",
    "tailwind": "https://api.uxxray.com/api/v1/teardown/whoop/tokens?format=tailwind",
    "css": "https://api.uxxray.com/api/v1/teardown/whoop/tokens?format=css",
    "openapi": "https://api.uxxray.com/api/v1/openapi.json",
    "mcp": "https://api.uxxray.com/mcp"
  },
  "devices": {
    "desktop": {
      "score": {
        "score": 25,
        "band": "Sparse",
        "stars": 1
      },
      "steps": [
        {
          "n": 1,
          "id": "home",
          "label": "Homepage / Lander",
          "url": "https://www.whoop.com/us/en/",
          "reached": true,
          "copy": {
            "title": "WHOOP | Unlock Human Performance & Healthspan",
            "meta_description": "Optimize sleep, strain, and recovery with WHOOP, the most advanced fitness and health wearable. With personalized insights, improve performance, build healthier habits, and extend healthspan with continuous health monitoring.",
            "hero_copy": "The wearable designed for lasting progress | Wear WHOOP daily, improve your health | Get a complete picture of your health",
            "h1": [
              "The wearable designed for lasting progress",
              "\"WHOOP has been a huge motivator to a healthier lifestyle.\"",
              "\"WHOOP has helped me greatly improve my physical health and wellbeing\"",
              "\"Healthspan has helped me adjust my behaviors to help increase longevity.\"",
              "\"WHOOP continues to transform my approach to health and wellness daily.\""
            ],
            "h2": [
              "Wear WHOOP daily, improve your health",
              "Get a complete picture of your health",
              "Choose a membership",
              "Backed by PHDs, worn by MVPs",
              "Built to be worn 24/7",
              "One device, endless ways to wear it",
              "Support",
              "Company"
            ],
            "h3": [
              "Memberships",
              "Health Features",
              "Quantify how your body is feeling",
              "Extend your prime for years to come",
              "Optimize your sleep",
              "Measure the impact of every step and rep",
              "Stay connected to your heart health",
              "Get daily Blood Pressure Insights"
            ],
            "ctas": [
              "JOIN NOW",
              "TRY WHOOP FOR FREE",
              "START WITH ONE",
              "LEARN MORE",
              "START WITH PEAK",
              "START WITH LIFE",
              "Zero distractions",
              "Always on sensors",
              "14+ day battery life",
              "Completely customizable",
              "LEATHERLUXE",
              "SPORTFLEX"
            ],
            "prices": [],
            "form_fields": 1,
            "form_field_names": [
              "email"
            ],
            "video": {
              "count": 2,
              "native": 2,
              "providers": []
            }
          },
          "proof": [],
          "proof_position": {
            "in_header": false,
            "above_fold": false,
            "above_fold_text": null
          },
          "discount": {
            "present": false,
            "anchors": [],
            "percent_off": null
          },
          "subscription": {
            "detected": false,
            "interval": null
          },
          "free_items": [],
          "tactics": [
            "sticky_cta",
            "free_trial",
            "social_proof_logos"
          ],
          "tactics_evidence": {
            "review_wall": null,
            "comparison_table": null,
            "countdown_timer": null,
            "free_gift": null,
            "subscription_toggle": null,
            "faq_accordion": null,
            "trust_badges": null,
            "press_logos": null,
            "per_unit_price": null,
            "free_shipping": null,
            "free_trial": "free trial",
            "no_credit_card": null,
            "social_proof_logos": "backed by",
            "usage_proof": null,
            "pricing_tiers": null,
            "demo_docs": null,
            "express_checkout": null
          },
          "ux_flags": {
            "contrast_fail": 10,
            "contrast_unknown": 16,
            "aa_pass_pct": 93,
            "min_body_px": 14,
            "small_taps": 68,
            "h_overflow": false,
            "lang": true,
            "viewport": true,
            "h1_count": 5
          },
          "discovery": null,
          "tactic_regions": [],
          "screenshots": {
            "hero": "https://api.uxxray.com/api/v1/teardown/whoop/screenshot/2026-07-30/desktop/01-home/hero.png",
            "full": "https://api.uxxray.com/api/v1/teardown/whoop/screenshot/2026-07-30/desktop/01-home/full.png",
            "heroDims": null,
            "fullDims": null
          },
          "crops": [
            {
              "region": "primary_cta",
              "label": "Primary CTA",
              "url": "https://api.uxxray.com/api/v1/teardown/whoop/screenshot/2026-07-30/desktop/01-home/crops/primary_cta.png"
            }
          ],
          "crops_note": "The WALK's crops: at most two per step, cut live by the browser from the two regions it looks for (primary_cta, proof). An empty array means neither matched on this page, which is ordinary. These are NOT the /library/elements and /library/sections crop images: those are cut at BUILD time from the stored full-page screenshot at measured element and band coords, over the listed corpus, and a scan does not produce them."
        }
      ]
    },
    "mobile": {
      "score": {
        "score": 25,
        "band": "Sparse",
        "stars": 1
      },
      "steps": [
        {
          "n": 1,
          "id": "home",
          "label": "Homepage / Lander",
          "url": "https://www.whoop.com/us/en/",
          "reached": true,
          "copy": {
            "title": "WHOOP | Unlock Human Performance & Healthspan",
            "meta_description": "Optimize sleep, strain, and recovery with WHOOP, the most advanced fitness and health wearable. With personalized insights, improve performance, build healthier habits, and extend healthspan with continuous health monitoring.",
            "hero_copy": "The wearable designed for lasting progress | Wear WHOOP daily, improve your health | Get a complete picture of your health",
            "h1": [
              "The wearable designed for lasting progress",
              "\"WHOOP has been a huge motivator to a healthier lifestyle.\"",
              "\"WHOOP has helped me greatly improve my physical health and wellbeing\"",
              "\"Healthspan has helped me adjust my behaviors to help increase longevity.\"",
              "\"WHOOP continues to transform my approach to health and wellness daily.\""
            ],
            "h2": [
              "Wear WHOOP daily, improve your health",
              "Get a complete picture of your health",
              "Choose a membership",
              "Backed by PHDs, worn by MVPs",
              "Built to be worn 24/7",
              "One device, endless ways to wear it",
              "Support",
              "Company"
            ],
            "h3": [
              "Memberships",
              "Health Features",
              "Quantify how your body is feeling",
              "Extend your prime for years to come",
              "Optimize your sleep",
              "Measure the impact of every step and rep",
              "Stay connected to your heart health",
              "Get daily Blood Pressure Insights"
            ],
            "ctas": [
              "Health Features",
              "JOIN NOW",
              "TRY WHOOP FOR FREE",
              "START WITH ONE",
              "LEARN MORE",
              "START WITH PEAK",
              "START WITH LIFE",
              "Zero distractions",
              "Always on sensors",
              "14+ day battery life",
              "Completely customizable",
              "LEATHERLUXE"
            ],
            "prices": [],
            "form_fields": 1,
            "form_field_names": [
              "email"
            ],
            "video": {
              "count": 2,
              "native": 2,
              "providers": []
            }
          },
          "proof": [],
          "proof_position": {
            "in_header": false,
            "above_fold": false,
            "above_fold_text": null
          },
          "discount": {
            "present": false,
            "anchors": [],
            "percent_off": null
          },
          "subscription": {
            "detected": false,
            "interval": null
          },
          "free_items": [],
          "tactics": [
            "sticky_cta",
            "free_trial",
            "social_proof_logos"
          ],
          "tactics_evidence": {
            "review_wall": null,
            "comparison_table": null,
            "countdown_timer": null,
            "free_gift": null,
            "subscription_toggle": null,
            "faq_accordion": null,
            "trust_badges": null,
            "press_logos": null,
            "per_unit_price": null,
            "free_shipping": null,
            "free_trial": "free trial",
            "no_credit_card": null,
            "social_proof_logos": "backed by",
            "usage_proof": null,
            "pricing_tiers": null,
            "demo_docs": null,
            "express_checkout": null
          },
          "ux_flags": {
            "contrast_fail": 10,
            "contrast_unknown": 16,
            "aa_pass_pct": 93,
            "min_body_px": 10,
            "small_taps": 64,
            "h_overflow": false,
            "lang": true,
            "viewport": true,
            "h1_count": 5
          },
          "discovery": null,
          "tactic_regions": [],
          "screenshots": {
            "hero": "https://api.uxxray.com/api/v1/teardown/whoop/screenshot/2026-07-30/mobile/01-home/hero.png",
            "full": "https://api.uxxray.com/api/v1/teardown/whoop/screenshot/2026-07-30/mobile/01-home/full.png",
            "heroDims": null,
            "fullDims": null
          },
          "crops": [],
          "crops_note": "The WALK's crops: at most two per step, cut live by the browser from the two regions it looks for (primary_cta, proof). An empty array means neither matched on this page, which is ordinary. These are NOT the /library/elements and /library/sections crop images: those are cut at BUILD time from the stored full-page screenshot at measured element and band coords, over the listed corpus, and a scan does not produce them."
        }
      ]
    }
  }
}