DiscoveryBrain · Inquiry 007Company study19 Aug 2026

The funnel's behavioural design, walked

MEDvidi · A8

A real browser on a real mobile viewport with every write blocked. No price anywhere, seven legal instruments behind one checkbox behind the button, and an ad SDK nobody had found.

A89,042 words~41 minchapter 4 of 14
inquiry007-medvidi-vpp
areafunnel-behavioural-design
typefinding
sensitivityprivate
created2026-08-19
statusdraft

Kicker

Seven Scouts described MEDvidi's signup flow by reading its JavaScript bundle. On 2026-08-19 it was walked in a real browser, on a real 390×844 mobile viewport, with every write request blocked at the network layer so that nothing was created and nothing was submitted. The flow is shorter and stranger than the bundle suggested: four to six screens, of which the ADHD path is the only one with any qualification at all — Weight Loss, ESA, anxiety, insomnia and OCD go from a checkbox straight to the account wall in one tap. The account wall asks for first name, last name, ZIP, date of birth, mobile number and email, and gates them behind two consent checkboxes, one of which bundles seven separate legal instruments including the Refund Policy and the AI Usage Consent; at the default scroll position on a 390px screen that checkbox sits entirely behind the sticky gold CTA. No price appears anywhere in the funnel — not on the entry screen, not on any qualification screen, not at the account wall. The published price lives halfway down a marketing page and inside a collapsed FAQ accordion, and the two documents the patient agrees to in one click contradict each other: the Refunds & Fees Policy lists six full-refund conditions, while the Terms and Conditions say flatly "We do not offer refunds." The free ADHD self-test is a correctly-weighted 18-item ASRS whose subtype labels are transposed in the scoring code — a high-inattentive profile is told it is "predominantly hyperactive" and vice versa — and whose CTA dumps a person who has just been told "ADHD is likely" onto the same undifferentiated ?-less signup URL as everyone else. Meanwhile the marketing site loads a consent-management platform on every page and the funnel loads none, while firing Google enhanced-conversion, Microsoft UET and an OpenAI advertising SDK on the screen where the patient declares their condition. That last pair of facts is the one with legal teeth, and it is the one nobody had looked at.


Source legend

Tag Source
[WALK] Direct browser walk of https://join.medvidi.com/signup, 2026-08-19, using headless Chrome 151 driven by Puppeteer at a 390×844 iPhone-class viewport (isMobile: true, DPR 2, iOS Safari UA). Every HTTP method other than GET/HEAD/OPTIONS was aborted by a request interceptor, so no account, record, lead or server-side event was created. Screens advanced only by clicking client-side wizard controls; the walk stopped at the first screen requiring typed personal data. Raw transcripts: scratchpad/w_adhd.txt, walk_out.txt, w_wl.txt, w_svc{1,3,5,6}.txt.
[WALL] Geometry and DOM measurement of the account-wall screen at 390×844, 2026-08-19: getBoundingClientRect() of both consent checkboxes and of the sticky footer, plus the href of every link inside the consent copy. Same blocked-write session as [WALK].
[SHOT] Screenshots taken during the same sessions, saved to assets/shots/ (funnel-s0-service-select-mobile.png, fnl-adhd-assess-s0…s5.png, fnl-wl-s0…s1.png, wall-viewport-390.png, wall-consents-scrolled.png, wall-error-state.png, home-mobile-390.png, svc-adhd-mobile-390.png, svc-wl-mobile-390.png, cmp-circle-adhd.png, cmp-klarity-adhd.png), all 2026-08-19.
[WIRE] The list of network requests the funnel attempted during [WALK], captured at the interceptor — request method, host and path only. Payload bodies were not read; the requests were aborted before they were sent.
[ASRS] https://medvidi.com/tests/adhd/ — rendered DOM plus the page's own inline scoring script, read verbatim 2026-08-19. The quiz is a static WordPress/Elementor form (id="asrs-form", method="get") scored entirely client-side; taking it transmits nothing. Result state reached and screenshotted (test-adhd-result.png).
[GAD7] https://medvidi.com/tests/anxiety/ — same treatment, 2026-08-19. Seven items scored 0–3, banded client-side.
[PRICE] https://medvidi.com/services/adhd-treatment/ and https://medvidi.com/services/weight-loss-treatment/, fetched and rendered 2026-08-19; the on-page pricing blocks read verbatim, with their position in the page measured in text lines.
[REFUND] https://medvidi.com/about-us/refund-policy/ — "Refunds & Fees Policy", stamped "Last updated: 5 May 2025", read in full 2026-08-19.
[TC] https://medvidi.com/terms-and-conditions/ — "MEDvidi Health Terms and Conditions", ~7,300 words, no last-updated stamp, read in full 2026-08-19. Section letters below (e.g. §(f), §(g)) are the document's own.
[PAYTERMS] https://medvidi.com/payment-terms/, read in full 2026-08-19.
[PROMO] https://medvidi.com/promo-codes/ — "MEDvidi Promo Codes and Discounts FAQ", read in full 2026-08-19.
[FAQ] https://medvidi.com/faqs/ and the FAQ accordion on https://medvidi.com/, read 2026-08-19.
[LH] Google Lighthouse 12.x run locally against Chrome 151, 2026-08-19, mobile form factor, 390×844 DPR 3, simulated throttling, categories performance/accessibility/best-practices/SEO. Four URLs: medvidi.com/, /services/adhd-treatment/, /services/weight-loss-treatment/, join.medvidi.com/signup. Raw JSON in scratchpad/lh_*.json. The public PageSpeed Insights API refused the job — anonymous daily quota is now zero (RESOURCE_EXHAUSTED, quota_limit_value 0), so Lighthouse was run directly instead; lab numbers only, no CrUX field data.
[CIRCLE] https://www.circlemedical.com/what-we-treat/adhd/, rendered at 390×844, 2026-08-19. Comparator: an insurance-first US telehealth practice competing for the same ADHD search intent.
[KLARITY] https://www.helloklarity.com/service/adhd-treatment/, rendered at 390×844, 2026-08-19. Comparator: a cash-pay/insurance marketplace competing for the same ADHD search intent.
[A1] [A2] [A3] [A4] [A6] Prior Findings in this Inquiry, cited where this pass confirms, sharpens or corrects them: product-surface-patient-journey.md (A1), demand-engine-seo-funnel.md (A2), business-model-economics.md (A3), regulation-risk-dea.md (A4), competitive-landscape.md (A6). Where A4's own primary tag matters — e.g. [ENF-CEREBRAL], the FTC's April 2024 Cerebral press release — it is named so the chain is traceable.
[REASON] My inference from the above. Always labelled, always shown with its arithmetic or its logic.

1. What we found

1.1 The funnel is four to six screens, and only ADHD has a funnel at all

Walked 2026-08-19 at 390×844 with writes blocked [WALK]. Both ADHD branches and all five non-ADHD services were traversed.

Screen 0 — service selection. Title: "What do you need help with?" Seven options as checkboxes, not radios — ADHD / ADD Treatment, Anxiety Treatment, Depression Treatment, Insomnia Treatment, Weight Loss, Emotional Support Animal Letter, OCD Treatment. Nothing is pre-checked. Continue renders disabled until something is ticked. A back arrow labelled "Back to sign in". Footer: "Already have an account? Sign in." [WALK] [SHOT]

The ADHD branch, screen 1. A face and a name: Dr. David Okonkwo, Medical Director — "Hi, I'm David. I oversee treatment of all our patients. Let's find the best medical provider for you." Then a fork with two buttons and no Continue: "Transfer my ongoing ADHD care" or "Start with ADHD assessment" [WALK].

Transfer path (4 screens total). Screen 2 is a second Okonkwo card, "We prioritize continuity & uninterrupted care", with three promises — "Share what treatment works for you", "Meet your provider as soon as today… often the same day or within 48 hours", "Resume treatment the same day — Our providers send e-prescriptions to pharmacies right after the appointment." One button: "Book my appointment". Screen 3 is the account wall [WALK].

Assessment path (6 screens total). Screen 2: "What bothers you the most?" — eight checkboxes, ending "I'm not sure..it all feels overwhelming" (typo in the product). Screen 3: "What's most important to you while seeking care?" — seven radios, one of which is "Getting affordable care". Screen 4: a third Okonkwo card, "The transparent approach to treatment", three promises — "Complete assessment during your first visit", "Get a personalized treatment plan", "It's your choice — If provider suggests starting treatment, you can always say no or think about it." One button: "Book my first call". Screen 5 is the account wall [WALK].

Every other service is two screens. Ticking Anxiety, Depression, Insomnia, Weight Loss, ESA or OCD and pressing Continue lands directly on the account wall — one tap, no questions, no assessment, no eligibility [WALK]. The wall's headline is templated per service ("…specializing in weight loss are ready to help", "…specializing in emotional support animal letter are ready to help"), lowercased mid-sentence, which is the tell that it is one interpolated string [WALK].

That asymmetry is the single most informative thing in the walk. The company has invested qualification screens in exactly one of its seven services, and the two questions the ADHD path asks ("what bothers you the most", "what's most important to you") are preference questions, not clinical or eligibility ones [REASON].

1.2 The price is not in the funnel. It is halfway down a marketing page.

Zero of the four-to-six funnel screens mention a dollar figure, a payment, insurance, or the fact that MEDvidi is cash-pay [WALK]. Neither does the account wall [WALL].

Where the price actually lives, as of 2026-08-19:

  • Homepage: only inside the FAQ accordion near the page foot — "The majority of our services cost $195 for an initial appointment and $159 for a follow-up appointment. Please contact our Care Team if you want to know the exact price of your visit in advance." Hedged twice: "majority", and "contact us for the exact price" [FAQ].
  • ADHD service page: a proper pricing block — "$195 Initial ADHD Visit" (30 min) and "$159 Follow-up Visits" (15 min), under the line "We currently offer online ADHD treatment on a self-pay basis. You pay per visit — no subscription required." It begins at roughly line 203 of a 423-line text render, i.e. about 48% of the way down the page [PRICE].
  • Weight-loss service page: three tiers — "Introductory Consultation $195", "Introductory + Follow-up Consultation Package $249Save $105", "Follow-up Consultation $159". Begins around line 255 of 483, about 53% down [PRICE]. The arithmetic is honest: 195 + 159 = 354, 354 − 249 = 105 [REASON].

Above the fold on the ADHD money page, on mobile, a person sees the H1, three benefit lines ("Same-day appointments" / "No insurance is needed. HSA & FSA are accepted" / "Online prescriptions, if deemed necessary"), a gold Book an appointment button, "30,000 satisfied patients" with four avatars, and a live Trustpilot widget reading "Excellent 4.3 out of 5". No price [SHOT] svc-adhd-mobile-390.png.

"No insurance is needed" is the most efficient sentence on the site. The underlying fact — we do not accept insurance, so you pay the whole $195 yourself — is a cost objection. Rewritten as "no insurance is needed" it becomes a convenience benefit, and it sits in the same visual rhythm as "same-day appointments" [SHOT] [REASON].

1.3 The account wall: six fields, seven documents, one checkbox, behind the button

Measured at 390×844 [WALL], 2026-08-19.

Above the form: an avatar stack of three faces plus a "50+" badge, and the line "Over 50 experienced providers specializing in <service> are ready to help". Then "Set up your patient profile."

Six required fields, each with a red asterisk: First name, Last name, ZIP Code (with an info affordance), Date of birth, Mobile number (pre-filled +1), Email. Plus one non-required hidden text input [WALK].

Two consent checkboxes, neither pre-checked [WALL]:

  1. "I agree to receive marketing messages and follow-up visit reminders via SMS & email. Message frequency varies. Text STOP to opt-out." — one box covering marketing messages and transactional visit reminders.
  2. "I agree to the MEDvidi Health Terms of Use, Privacy Policy, Terms and Conditions, Telehealth Consent, Artificial Intelligence usage consent, Refund Policy, and to receive login and appointment links via SMS." — six separate linked instruments plus an SMS-delivery agreement, in one tick [WALL].

The six hrefs resolve to /terms-of-use/, /privacy-policy/, /terms-and-conditions/, /consent-to-telehealth/, /ai-usage-consent/, /about-us/refund-policy/ [WALL].

Where those checkboxes sit. The step container is an inner scroll region with scrollHeight 782 against clientHeight 610 — 172px of content below the visible area. Consent box 1 spans y = 647–751. Consent box 2 spans y = 751–877, i.e. its bottom edge is 33px past the 844px viewport. The sticky footer occupies y = 705–819 and the gold Create my patient profile button occupies y = 721–769 [WALL].

Read that as a picture: at the default scroll position, roughly the bottom 40% of consent box 1 is behind the CTA, and consent box 2 — the one carrying the Refund Policy, the Telehealth Consent and the AI Usage Consent — is entirely behind the CTA and partly off screen. The screenshot wall-viewport-390.png shows the marketing-consent sentence cut mid-line by the gold button; wall-consents-scrolled.png shows both boxes once the inner container is scrolled [SHOT].

The CTA is not disabled. Tapping it with nothing filled produces field-level "Field is required." errors and a "Please agree to continue" message [WALK]. So the discovery mechanism for the most legally significant control on the screen is an error state triggered by pressing the button that covers it [REASON].

To be fair and precise about what is not wrong here: nothing is pre-ticked, the links are real links, the marketing consent is separated from the legal bundle, and there is no confirmshaming copy. The defect is occlusion and bundling, not deception by default [WALL] [REASON].

1.4 The progress bar runs five points ahead of you, and stops at 25%

The header carries a two-track progress bar. Track one, progress-bar__current, is the real position. Track two, progress-bar__expected, is drawn five percentage points further along, rendered as a hatched segment ahead of the solid fill [WALK] [SHOT].

Observed transforms, screen by screen (translateX(-100%) = 0% filled):

Screen current expected
Service selection 0% 5%
ADHD branch fork 5% 10%
"What bothers you most" 10% 15%
"What's most important" 15% 20%
Okonkwo reassurance 20% 25%
Account wall 25% (absent)

[WALK]

Two things follow. First, the "expected" track is a goal-gradient device: the user is always shown a little more progress than they have made, and the anticipated increment disappears at the moment the form appears [REASON]. Second, and more useful: the bar tells the truth about length. Handing over name, DOB, phone, email and seven consents puts you at one quarter of the journey. The remaining 75% — phone verification, slot selection, payment, the intake questionnaire, ID upload, the medication and substance form, the PDMP and verification gate — happens after the account exists and, per A1 and A3, after the card has been charged [A1] [A3] [REASON].

1.5 The gate that can decline you sits behind the payment, and the policy does not say what happens then

The published Refunds & Fees Policy, last updated 5 May 2025, enumerates six full-refund conditions: timely cancellation (≥8h), provider cancellation, provider-side technical failure, incorrect provider assignment (out-of-state licensure), provider no-show or 15+ minutes late, and "no suitable appointment times available within a reasonable timeframe" [REFUND].

It enumerates what is not refunded: any appointment that has started; late cancellation (<8h, plus a $50 fee); no-show or failure to log in within 5 minutes (plus a $100 fee); patient-side connectivity; and —

"Pharmacy/Medication Issues: Refunds will not be issued if a pharmacy refuses to fill a prescription due to their policies or stock availability. MEDvidi does not control pharmacy operations but can assist in finding alternatives." [REFUND]

Outstanding no-show and late-cancellation fees "must be paid before a new appointment can be scheduled" [REFUND]. Refund requests must be made within 15 days of payment, go through phone/SMS/email only, get a response in 48–72 hours, are processed in 2–3 business days and may take up to 28 additional business days to land [REFUND].

What the policy does not address anywhere: what happens if MEDvidi itself declines to treat a patient after taking payment — the PDMP-and-intake verification outcome A1 documented in the portal [A1]. Section 1 does not list it; section 2 says once an appointment has begun there is no refund. This is a gap in the published policy, not evidence of a withheld refund, and it is parked as such in §4 [REFUND] [REASON].

Meanwhile the Payment Terms disclose a split charge:

"The payment might be divided into two parts. First part charges at the moment of the appointment booking. The rest charges just before the appointment starts." [PAYTERMS]

So the sunk cost is created at booking and topped up minutes before the visit [PAYTERMS] [REASON].

1.6 The two documents behind the same checkbox contradict each other

Both the Refunds & Fees Policy and the Terms and Conditions are linked from consent box 2 [WALL]. The Terms say, in §(f):

"By providing payment information to us, you grant the Payment Processor and us your consent and authorization for your credit card to be charged for any fee for your continued membership. All overdraft, chargebacks, and bank fees are solely your responsibility. We will notify you in advance of fee increases prior to you being billed. We do not offer refunds." [TC]

And §(g), in the document's own capitals:

"BY REGISTERING AS A MEMBER, YOU AGREE TO PAY ANY FEES ASSOCIATED WITH YOUR MEMBERSHIP. THE FEE WILL AUTOMATICALLY BE CHARGED TO YOUR PREFERRED PAYMENT METHOD. YOU AGREE THAT THE FEES WILL INCLUDE APPLICABLE TAXES UNTIL YOU CANCEL YOUR REGISTRATION. IF YOUR PAYMENT METHOD FAILS AND YOU DO NOT PAY OR DO NOT PAY ON TIME, WE MAY CANCEL OR SUSPEND YOUR ACCOUNT." [TC]

Three further contradictions live in the same document. §(b) says "You may be asked to provide your insurance information… By providing your insurance information, you authorize MEDvidi Health to submit claims and bill Medical Services to your insurer on your behalf", while the site's own FAQ says "Currently, MEDvidi doesn't accept insurance" [TC] [FAQ]. §13(b) governs "referral credits" and a personal "referral link", and forbids promoting it "via search engine marketing, including but not limited to AdWords, Yahoo, or Bing" — a programme that appears nowhere on the public product [TC]. And §13(c) reads: "You may opt out of text ("SMS") messaging at any time… You understand that opting out of receiving SMS messages may impact your access to Sites, Content, and Medical Services" [TC] — which, combined with consent box 2's "…and to receive login and appointment links via SMS", means the login mechanism itself is tied to SMS [WALL] [TC] [REASON].

Nowhere in the Terms is there a described mechanism for cancelling a membership. The document says charges continue "UNTIL YOU CANCEL YOUR REGISTRATION" and never says how, where, with what notice, or by when [TC]. Compare the same company's precision about appointment cancellation: an 8-hour boundary, a $50 fee, a $100 no-show fee, a 5-minute login grace, a 72-hour documentation window [REFUND]. The asymmetry is not subtle: the document is exact about what the patient owes and silent about how the patient stops owing it [REASON].

1.7 The cancellation and save flow — what is publicly establishable, and what is not

The FTC's April 2024 Cerebral order, as documented in A4 from the Commission's own release [ENF-CEREBRAL], turned in part on ROSCA: failure to disclose material cancellation terms while promising "cancel anytime", and — the detail that belongs on a wall — Cerebral "first implemented an easier cancellation button in April 2020, [and] the company removed it after only two weeks at [the CEO's] direction after seeing cancellations rise" [A4].

MEDvidi ships the machinery that story is about. A1 and A3 read 28 PostHog events under PP — Membership — … in the patient-portal bundle, including Went To Membership Cancellaton (sic), Membership Cancelled, Stayed With Membership and Moved Next With Membership Cancellation, plus routes /membership, /membership/manage, /membership/cards, /membership/history, a $159 recurring Stripe plan, and feature flags Membership_Launch_Test_1 and Targeted_release_late_reshedule_membership_offer [A1] [A3].

This pass could not see the save flow. It lives behind authentication and SCOPE forbids creating an account. What this pass can establish from public surfaces, and what nobody had assembled:

  1. The auto-renew authorisation exists in the binding Terms, in capitals, buried in a ~7,300-word document reached through one of six links inside one checkbox that is behind the CTA at the default mobile scroll position [TC] [WALL].
  2. There is no public cancellation method — not in the Terms, not in the Refund Policy, not in the FAQ [TC] [REFUND] [FAQ].
  3. The public FAQ actively denies the product exists: "Many conditions require multiple appointments over an extended period of time. However, we have no subscription model" [FAQ]. The ADHD money page says "You pay per visit — no subscription required" [PRICE]. The weight-loss money page's fourth bullet is "No membership or hidden fees" [PRICE] [SHOT].
  4. The promo-codes page frames the absence of discounts as fairness — "At this time, MEDvidi does not offer promo codes or discounts to maintain transparent and fair pricing for all patients" — while the weight-loss page sells a bundle marked "Save $105" [PROMO] [PRICE].

So on the day Prime launches, three public pages and one FAQ answer become false simultaneously, and the auto-renew disclosure is already sitting in the wrong place [REASON]. That is the ROSCA-shaped problem, and it is fixable in a week for zero engineering cost — see §6.

1.8 The free tests: exact scoring, exact words, and one transposed label

ADHD. medvidi.com/tests/adhd/ is a full 18-item ASRS v1.1, 90 radios in 18 groups, method="get", scored by an inline script with no network call [ASRS]. The per-item weights are correct: items 1–3, 9, 12, 16, 18 score 1 from "Sometimes" upward; items 4–8, 10, 11, 13–15, 17 require "Often" [ASRS]. That is the validated ASRS weighting, and it deserves saying because it would have been easy to get wrong.

The verdict logic, verbatim from the page script [ASRS]:

  • groupSum1 = items 1–6 (ASRS Part A). <= 3"ADHD is unlikely", no description. >= 4"ADHD is likely".
  • Subtype from groupSum2 (items 1–4, 7–11 — the inattentive set, per the script's own comment) and groupSum3 (items 5, 6, 12–18 — the hyperactive/impulsive set), threshold > 4.

And here is the defect. The script says:

  • groupSum2 <= 4 && groupSum3 > 4 → "…align more with the predominantly inattentive subtype" — but groupSum3 is the hyperactive/impulsive set.
  • groupSum2 > 4 && groupSum3 <= 4 → "…align more with the predominantly hyperactive subtype" — but groupSum2 is the inattentive set.

The two subtype labels are transposed [ASRS]. A person whose symptoms are purely inattentive is told they look hyperactive, and a person who is restless and impulsive is told they look inattentive. The all-"Very often" run I took returned "ADHD is likely… These symptoms seem to align more with the combined subtype", which is the one branch the bug does not touch [ASRS] [SHOT].

The result screen then says, in full: "Your results / ADHD is likely / The result suggests that you exhibit some symptoms associated with ADHD… / Note that the diagnostic process for ADHD is complex, and self-diagnosis is not possible. To go through a detailed assessment and learn whether you have ADHD, consult with a healthcare provider. / Do you want to discuss your results with an expert?Book an appointment" [ASRS].

Three properties matter. The result is free, instant and ungated — no email wall, no account, no server round trip [ASRS]. The disclaimer is genuinely present and reasonably worded. And the CTA href is https://join.medvidi.com/signup — bare, with no ?service=adhd, no score, no subtype [ASRS]. Somebody who has just answered 18 clinical questions and been told "ADHD is likely" arrives at "What do you need help with?" and starts again [REASON].

Anxiety. medvidi.com/tests/anxiety/ is a GAD-7: 7 items, 0–3, total 0–21, same asrs-form id copied over [GAD7]. Bands: 0–4 "Anxiety disorder is unlikely"; 5–9 "Mild anxiety disorder is likely"; 10–14 "Moderate anxiety disorder is likely"; 15–21 "Severe anxiety disorder is likely" [GAD7]. The cut-points are the standard GAD-7 severity bands. The wording is not: GAD-7 5–9 is conventionally mild anxiety symptoms, and the instrument's screening cut-point for probable GAD is 10. Labelling the 5–9 band "mild anxiety disorder is likely" converts a symptom score into a disorder claim [GAD7] [REASON]. Same bare CTA, same ungated result [GAD7].

And that is the whole lead-magnet estate. The sitemap lists exactly two test pages — ADHD and anxiety [A2], re-checked 2026-08-19. There is no depression test, no insomnia test, no PHQ-9. The two tests that exist map precisely onto the two conditions whose treatment is a controlled substance — stimulants and benzodiazepines [REASON]. (One consolation: no PHQ-9 means no item-9 self-harm question, and therefore no untriggered crisis-routing obligation on the marketing site [REASON].)

1.9 The devices, named, with the on-screen evidence

Device On-screen evidence Reading
Self-diagnosis → CTA "ADHD is likely" then "Book an appointment" [ASRS] Legitimate if the disclaimer holds; here it does
Authority (personified) Dr. David Okonkwo, "Medical Director", on 3 of 6 ADHD screens [WALK] Legitimate
Authority (certification) LegitScript seal 11465576 on every page [SHOT] Legitimate, verifiable
Social proof (volume) "30,000 satisfied patients" + 4 avatars, ADHD page hero [SHOT] Needs substantiation
Social proof (rating) Live Trustpilot "Excellent 4.3 out of 5" widget [SHOT] Legitimate — it is the real widget
Social proof (supply) "Over 50 experienced providers" + avatar stack + "50+" badge, on the account wall [WALL] Placed at the highest-friction screen
Scarcity / speed "Same-day appointments", "Appointments within 24 hours", "often the same day or within 48 hours" [SHOT] [WALK] Speed, not scarcity — no slot-count or countdown device was found anywhere
Effort minimisation "Your mental wellness is one click away", "Start feeling better in just three steps", "No waiting rooms. No paperwork." [SHOT] Contradicted by the product — see below
Goal gradient Two-track progress bar, expected always +5% [WALK] Standard, mild
Endowed progress Wall reached at 25% [WALK] Honest about length; demoralising by design or by accident
Default framing "No insurance is needed" instead of "we don't take insurance" [SHOT] Aggressive, legitimate
Fairness framing "no promo codes… to maintain transparent and fair pricing for all patients" [PROMO] Neutralises price objection; undercut by the $105 bundle
Anchoring / bundling "$195 / $249 Save $105 / $159" on the weight-loss page [PRICE] Textbook, correctly arithmetic
Sunk cost Payment split across booking and just-before-visit [PAYTERMS]; intake, ID, PDMP after payment [A1] The load-bearing device in the whole business
Effort justification 18-question ASRS, then 2–4 more funnel questions, then 6 fields, all before any price [ASRS] [WALK] The strongest one on the site
Consent bundling 7 instruments in 1 checkbox, occluded by the CTA [WALL] This is the one to fix
Auto-renew disclosure placement ROSCA-relevant terms in all-caps, 7,300 words deep, behind that checkbox [TC] This is the other one

"No paperwork" deserves its own line. The homepage promises it [SHOT]; the company's own FAQ says a prescription requires that you "provide an approved photo ID, complete an intake and medical history form, complete a medication and substance form, provide insurance ID if applicable, and other necessary mental health screening forms" — all of it after payment [FAQ] [A1]. That is a claim-versus-product gap on the primary landing page, and it is the kind of thing a Section 5 deception theory is built from [REASON].

What is absent and worth saying out loud, because absence is evidence: no countdown timer, no "3 slots left", no fake urgency, no pre-checked upsell, no confirmshaming, no hidden-cost reveal at checkout (there is no checkout before the wall to hide anything in), no forced account creation before content (the tests are ungated), and no negative-option trap on the published per-visit product [WALK] [ASRS] [REASON]. On the standard dark-pattern taxonomy MEDvidi's funnel is cleaner than its reputation-by-category would suggest. Its exposure is concentrated in two places: consent presentation at the wall, and the gap between what the marketing says and what the membership terms authorise.

1.10 Instrumentation, observed at the wire

During [WALK], with every write aborted, the funnel attempted the following. Hosts and paths only; no payload was read [WIRE]:

Destination What it is
api.medvidi.com/dashboard/v1/patient-portal-event (POST, repeatedly) First-party server-side event ingestion — the PP — … catalogue A1 read in the bundle, live
api.medvidi.com/dashboard/v1/available-services?websiteCode=join_medvidi (GET) The seven services are server-driven, per white-label tenant
api.medvidi.com/dashboard/v1/terms?websiteCode=join_medvidi (GET) Consent text is server-driven, per tenant
api.medvidi.com/dashboard/v1/ai-usage-consent-agreement/collection-status (GET) AI consent is tracked as its own collectible artefact
data.medvidi.com/flags/ (POST) + /static/{surveys,web-vitals,exception-autocapture,dead-clicks-autocapture}.js Self-hosted / reverse-proxied PostHog with feature flags, surveys, web-vitals, dead-click and exception autocapture
o1050997.ingest.sentry.io/api/6461278/envelope/ (POST, many) Sentry error tracking
googletagmanager.com GTM-T7TBQ8C, google.com/ccm/collect (POST, ae=g, en=…), ad.doubleclick.net/ccm/s/collect Google Ads conversion with enhanced-conversion signalling
bat.bing.com UET ti=26002229, incl. a custom event with gc=USD&tpp=1&en=Y Microsoft Ads conversion with value
bzrcdn.openai.com/sdk/oaiq.min.js and bzr.openai.com/v1/sdk/events?pid=…&st=oaiq-web&sv=0.1.29 (POST) An OpenAI advertising/conversion SDK, firing on the funnel

Two of those are new to this Inquiry.

First: OpenAI. The oaiq SDK is present on join.medvidi.com/signup and absent from medvidi.comgrep -ic openai returns 2 on the funnel DOM and 0 on the homepage [WIRE]. Somebody at MEDvidi has already wired conversion measurement for a ChatGPT-originated ad or referral channel [REASON]. For a business whose only channel is organic search, that is the most interesting single tag on the site: it means the demand team is already treating an assistant surface as an acquisition channel, and it means there is a measurement question — what share of /signup starts arrive from an LLM surface — that the company can already answer and the study could not [REASON].

Second, and more serious: the consent-management asymmetry. medvidi.com loads Cookiebot — 82 matches in the homepage DOM, and its Bing beacon carries consent parameters (evt=consent&src=update, asc=G). join.medvidi.com/signup loads no consent-management platform at all — zero matches for cookiebot, OneTrust, Usercentrics, Osano, Termly or Klaro — and its Bing beacon carries no asc consent parameter [WIRE].

So the brochure site, where a visitor reveals nothing, is consent-gated. The funnel, where the visitor selects "ADHD / ADD Treatment" or "Weight Loss" and then types name, DOB, phone and email, is not [WIRE] [REASON]. A4 scanned the marketing estate for Meta/TikTok/LinkedIn tags and correctly found none, concluding "the advertising exposure is Google and Microsoft" [A4]. That conclusion is right about the marketing site and incomplete about the product: the funnel adds an OpenAI SDK and drops the CMP [WIRE].

I want to be exact about what this does and does not prove. The /signup URL does not encode the condition — service selection is client-side and the path stays /signup [WALK]. I did not read any payload. So this is not evidence that a condition is being transmitted to an ad network. It is evidence that the controls which would prevent that are present on one surface and absent on the other, while three ad platforms and a session-replay tool run on the surface that lacks them — and A1 found flags named patient_anonymous_signup_session_recording and patient_session_recording_split in that same bundle [A1] [WIRE] [REASON]. The FTC's Cerebral theory did not require HIPAA; it ran on Section 5, ROSCA and OARFPA [A4]. This is the shape of that theory's first paragraph.

1.11 Performance, measured — and the surprise is where it is bad

The critique asked for PageSpeed Insights. The public API now refuses anonymous calls outright (RESOURCE_EXHAUSTED, quota_limit_value: 0, 2026-08-19), so Lighthouse 12 was run locally against Chrome 151 with mobile emulation and simulated throttling instead. Lab data only — there is no CrUX field data in these runs [LH].

URL, mobile Perf A11y Best pract. SEO FCP LCP TBT CLS TTI
medvidi.com/ 97 93 79 100 1.6s 2.1s 0ms 0.063 2.1s
/services/adhd-treatment/ 72 89 75 100 4.2s 4.4s 20ms 0.03 10.9s
/services/weight-loss-treatment/ 62 81 79 92 4.2s 8.6s 30ms 0.004 10.7s
join.medvidi.com/signup 53 95 79 5.1s 15.9s 190ms 0.003 15.9s

[LH]

The homepage — the page a VP would instinctively optimise — is genuinely fast and needs nothing. The pages that carry the money are not, and the funnel is the worst thing the company ships [LH] [REASON].

Diagnosis, from the same runs [LH]:

  • Weight-loss LCP 8.6s is an un-optimised 2024 PNG (Group-2772-6.png, 418×494) served as the hero; "modern image formats" alone estimates 258 KiB of savings. LCP above 4s is the "poor" band; 8.6s on the page selling GLP-1s is a conversion tax nobody has priced.
  • Both money pages are blocked ~1.7s / 0.5s by the same Elementor + Font Awesome + jQuery stack. Render-blocking savings estimated at 1,740ms (ADHD) and 540ms (weight loss).
  • The weight-loss page fails the SEO audit crawlable-anchors — "Links are not crawlable" — on the money page of an SEO-only business.
  • The funnel is a 2,219 KiB Angular SPA with 504 KiB of unused JavaScript and no render-blocking CSS; its LCP is simply "the bundle has to arrive". It also fails one colour-contrast check — consistent with the pale-gold disabled Continue button visible in signup-desktop-1440.png [SHOT].
  • Accessibility fails across the estate on link-name (8 items on the homepage, 12 on the ADHD page, 5 on weight loss — icon links and social icons with no discernible name) and aria-hidden-focus; the weight-loss page adds 22 aria-allowed-role violations. None of these is catastrophic; all of them are cheap; on a mental-health site they are also an ADA question [LH].

One correction to my own first pass, recorded because it is exactly the failure mode this Inquiry is meant to avoid: a naive headless screenshot at --window-size=390 (no mobile emulation) showed the homepage and the funnel clipped at the right edge, and I nearly wrote that the mobile layouts overflow. Under real mobile emulation document.documentElement.scrollWidth === window.innerWidth === 390 on the homepage, both money pages and every funnel screen [WALK] [SHOT]. There is no horizontal overflow. The misleading screenshot has been deleted.

1.12 Where the competitors put the price, the eligibility and the wall

Circle Medical, /what-we-treat/adhd/, 390px, 2026-08-19 [CIRCLE]. Above the fold: "ADHD treatment online. Same-day availability. In-network with most insurance." — then "Care rated 4.9/5 by 300k+ patients", "300+ board certified providers", and, in the hero, the expectation-setting line "Clinically appropriate treatments & prescriptions available in 3 appointments". The ASRS Part A — six questions — is embedded directly on the landing page with a "Submit" button and the honest framing "Click or tap 'Submit' to see if your symptoms are suggestive of ADHD in adults". And the price is on the same page: "Quality care shouldn't be expensive. ADHD visits cost on average $35 with insurance. Get an estimate" [CIRCLE].

Klarity Health, /service/adhd-treatment/, 390px, 2026-08-19 [KLARITY]. Above the fold: "1,000+ licensed mental health providers in 50 states", "Appointments available within 24 hours", "400+ insurance plans accepted, HSA & FSA eligible, self-pay from $51", an "Excellent 4.9 based on 1,812 reviews" widget, and the asterisk resolved in plain sight: "Providers on Klarity Health are independent practitioners with clinical autonomy; a diagnosis, treatment, or prescription is not guaranteed*." Further down, a head-to-head comparison table naming ADHD Online and Circle Medical by name, with star ratings and price rows [KLARITY].

The structural contrast, which is the point:

MEDvidi Circle Medical Klarity Health
Price on landing page Mid-page (~48–53% down) [PRICE] Hero [CIRCLE] Hero [KLARITY]
Price in funnel before account Never [WALK] n/a (est. tool in hero) Per-provider, before booking
Eligibility signal in hero "No insurance is needed" [SHOT] "In-network with most insurance" [CIRCLE] "400+ plans… self-pay from $51" [KLARITY]
Screening instrument Separate /tests/adhd/ page [ASRS] On the treatment page [CIRCLE] Not on page [KLARITY]
Outcome expectation set up front No [WALK] "in 3 appointments" [CIRCLE] "not guaranteed" [KLARITY]
Account wall position Screen 2–6, before any price [WALK] After availability check After provider choice

Both comparators tell the visitor the price and the odds before asking for anything. MEDvidi asks for everything before telling the visitor either [REASON].


2. Capability / object table

Object State, 2026-08-19 Evidence
Funnel entry 7 services, checkboxes, none preselected [WALK]
Funnel depth, ADHD assessment 6 screens to wall [WALK]
Funnel depth, ADHD transfer 4 screens to wall [WALK]
Funnel depth, other 5 services 2 screens to wall [WALK]
Qualification questions, ADHD 2 (preference, not clinical) [WALK]
Qualification questions, GLP-1 0 [WALK]
Eligibility / state check pre-wall None [WALK]
Price shown pre-wall None [WALK]
Account-wall fields 6 required [WALL]
Consent checkboxes 2, none pre-checked [WALL]
Instruments in consent box 2 7 [WALL]
Consent box 2 vs viewport y 751–877 of 844; behind sticky CTA [WALL]
Progress at account wall 25% [WALK]
Progress bar tracks 2 (current + expected, +5%) [WALK]
?service= honoured on entry No [WALK]
CTAs passing ?service= 0 of 49 audited (11 home, 8 ADHD, 28 WL, 2 tests) [SHOT] [PRICE] [ASRS]
Free tests published 2 — ADHD, anxiety [ASRS] [GAD7]
ADHD test instrument ASRS v1.1, 18 items, weights correct [ASRS]
ADHD verdict threshold Part A ≥ 4 → "ADHD is likely" [ASRS]
ADHD subtype labels Transposed [ASRS]
Anxiety test instrument GAD-7, bands 4/9/14/21 [GAD7]
Test result gating None — free, instant, no email [ASRS] [GAD7]
Test CTA target bare /signup, no score, no service [ASRS] [GAD7]
Published price, initial $195 [PRICE] [FAQ]
Published price, follow-up $159 [PRICE]
Published bundle $249, "Save $105" (WL only) [PRICE]
Late cancel fee $50 (<8h) [REFUND]
No-show fee $100 (5 min grace) [REFUND]
Refund window 15 days from payment [REFUND]
Refund settlement 2–3 business days + up to 28 more [REFUND]
Pharmacy-refusal refund Explicitly none [REFUND]
Post-payment decline refund Not addressed in policy [REFUND]
Payment structure Split: at booking + just before visit [PAYTERMS]
Refund statements in force 2, contradictory [REFUND] [TC]
Auto-renew authorisation Present, all-caps, T&C §(g) [TC]
Published cancellation method None [TC] [REFUND] [FAQ]
Public "no subscription" claims 3 pages + 1 FAQ answer [PRICE] [FAQ]
CMP on marketing site Cookiebot [WIRE]
CMP on funnel None [WIRE]
Ad platforms on funnel Google (enhanced conv.), Microsoft UET, OpenAI oaiq [WIRE]
Error tracking on funnel Sentry [WIRE]
Product analytics Self-hosted PostHog + first-party event API [WIRE]
Lighthouse mobile perf, home 97 [LH]
Lighthouse mobile perf, ADHD page 72 (LCP 4.4s) [LH]
Lighthouse mobile perf, WL page 62 (LCP 8.6s) [LH]
Lighthouse mobile perf, funnel 53 (LCP 15.9s) [LH]
Mobile horizontal overflow None [WALK]
Scarcity devices None found [WALK] [SHOT]
Pre-checked opt-ins None found [WALL]
Confirmshaming None found [WALK]

3. Reconciliation notes

A1's parked question about ?service= is now answered, in the negative and twice over. A1 could not tell whether the rendered CTA href differed from the served HTML, and parked it [A1]. In the rendered DOM on 2026-08-19: 11 CTAs on the homepage, 8 on the ADHD page, 28 on the weight-loss page, and both test-result CTAs — all point at bare join.medvidi.com/signup or join.medvidi.com/ [SHOT] [PRICE] [ASRS]. And the entry screen ignores ?service=adhd when it is supplied by hand: nothing is preselected, the DOM is byte-identical apart from tag ids, and Continue stays disabled [WALK]. So the portal reads a parameter that no surface writes, and does not act on it when it is written. Both halves of the loss are confirmed.

A1's and A3's read of the membership machinery holds; this pass adds the legal frame, not new machinery. I could not see the save flow — it is behind a login. What is added is that the auto-renew authorisation exists in a document reachable only through the occluded checkbox, that no cancellation method is published anywhere, and that four public surfaces currently deny that a subscription exists [TC] [FAQ] [PRICE].

A2's characterisation of the free tests as "self-diagnosis then CTA" is right and incomplete. The mechanism is sharper than that: the tests are correctly implemented instruments whose disclaimers are honest, whose results are ungated, and whose only design sin is that the handoff throws away everything the person just told them — plus one transposed subtype label [ASRS] [A2].

A4's tag scan is correct about the marketing site and incomplete about the product. A4 searched medvidi.com for Meta/TikTok/LinkedIn tags, found none, and concluded the advertising exposure is Google and Microsoft [A4]. On join.medvidi.com/signup there is additionally an OpenAI advertising SDK, and there is no consent-management platform at all [WIRE]. The conclusion should be restated as: on the marketing site, Google and Microsoft, consent-gated; in the funnel, Google, Microsoft and OpenAI, not consent-gated.

The provider-count conflict (9 vs 50 vs 117) gets one more data point, from the product itself. The account wall says "Over 50 experienced providers specializing in <service> are ready to help", with a "50+" badge [WALL]. That is the number MEDvidi tells a patient at the moment of maximum commitment, for every service including ESA and weight loss — which means it is a brand-level claim rendered as a per-service one, and it should not be treated as a per-specialty bench count [REASON].

The gaps.md hypothesis that page performance is a neglected problem is half right. The homepage scores 97. The money pages and the funnel are the problem. If a VP walked in and proposed a Core Web Vitals programme, they would be optimising the one page that does not need it [LH] [REASON].

My own first-pass error, recorded. Non-emulated headless screenshots at a 390px window suggested horizontal overflow on mobile. Under true mobile emulation there is none. The misleading file was deleted rather than kept [WALK].


4. Open Questions / Parked

  1. What does the patient see between the account wall and the payment screen? Phone verification, slot selection, provider assignment, price presentation and the card form all sit behind account creation, which SCOPE forbids. Everything about price presentation at the point of charge is unobserved. This is the single largest remaining hole in the funnel picture and it is answerable in ten minutes by anyone inside the company — or by asking the CEO to walk you through it in the interview.
  2. What is in the patient-portal-event payload on the pre-account screens? The POSTs fire from screen 0 onward and were aborted, not read. Whether the selected service is transmitted before an account exists — and to whom besides MEDvidi's own API — is unestablished.
  3. Does the OpenAI oaiq SDK receive any condition signal? Not established. Only that it loads and posts events on the funnel and not on the marketing site.
  4. What happens to the $195 when the PDMP or intake-verification gate declines a patient? The published Refunds & Fees Policy does not address it [REFUND]. Do not assert that no refund is given; assert only that the policy is silent.
  5. Is the save/retention flow reachable without a membership, and what does it offer? 28 PostHog events including Stayed With Membership say it exists [A1] [A3]. Its contents are unobserved.
  6. Is the ADHD subtype transposition also present on any partner-brand tenant (EZCare, Mango, MDBerry) that reuses the same WordPress template? Not checked.
  7. What is the real conversion cost of the 15.9s funnel LCP? Lab number only. No CrUX field data was obtainable (PSI anonymous quota is zero). The company has PostHog web-vitals autocapture running on the funnel [WIRE] — it already has the field answer.
  8. Does any surface disclose the recurring price and cancellation method at the point of enrolment in Prime? Unobservable from outside; it is the first ROSCA question a regulator would ask.
  9. Trustpilot's own page (trustpilot.com/review/medvidi.com) blocked headless access with a "Verifying your connection" interstitial on 2026-08-19; the 4.3/5 figure here comes from MEDvidi's own embedded live widget, not from Trustpilot directly.

5. What this does NOT cover

  • Anything behind authentication. No account was created, no form submitted, no login attempted, no payment made. Every non-GET request the funnel attempted was aborted at the interceptor. The observed screens are therefore the complete unauthenticated funnel and nothing more.
  • The payment screen, the intake questionnaire, ID upload, the PDMP gate, the video visit, the follow-up flow, and the membership cancellation flow. All post-account.
  • Desktop funnel behaviour beyond the entry screen. The walk was run at 390×844 because drug-name search traffic is mobile-first; only the entry screen was also captured at 1440px.
  • Any brand other than MEDvidi. The websiteCode=join_medvidi parameter says the same Angular app serves five other clinic brands [WIRE] [A1]; none was walked.
  • Field performance data. Lighthouse lab runs only; no CrUX.
  • A11y beyond Lighthouse's automated axe subset. No manual screen-reader pass, no keyboard-only pass.
  • Ad-library, paid-search creative, or landing-page/ad-copy consistency. Out of this gap's scope.
  • Any legal conclusion. Sections 1.3, 1.6, 1.7 and 1.10 describe structures that resemble the ones the FTC charged in Cerebral [A4]. Whether any of it violates ROSCA, Section 5, the TCPA or a state auto-renewal statute is a question for counsel, not for a Scout, and the finding is written so that the facts survive whatever counsel says.

6. What this means for a VP of Product

The posting asks for behavioural design. The honest read of this funnel is that MEDvidi has one behavioural mechanism doing almost all of the work, and it is not on any of the screens.

The mechanism is sequence. Payment lands before intake, before the PDMP check, before ID verification, and before the patient knows whether a prescription is even possible [A1] [PAYTERMS]. Everything the funnel does before that point exists to maximise the amount of disclosed effort a person has already sunk when the card form finally appears — 18 ASRS questions if they came through a test, two to four more funnel questions, six identity fields, seven consents, a phone verification. The classic devices are all present and all secondary: the Medical Director's face, the "50+" badge, "same-day", "one click away", "three steps", the $105 bundle, the two-track progress bar. None of them is doing the heavy lifting. Effort justification is. And the reason the price is invisible until after the account exists is that a price shown at screen 0 would be a decision made on price; a price shown at 25% progress with six fields already filled is a decision made on sunk effort [REASON].

That is legitimate design. Sequencing payment before a clinical gate is not, by itself, deceptive — a clinic that charges for an assessment whose outcome may be "no" is charging for the assessment. What makes it fragile is that the sequence is never disclosed. At no point before the account wall does the funnel say: this costs $195, we do not take insurance, we will run a controlled-substance database check, and a prescription is not guaranteed. Klarity says the last of those in its hero, in an asterisk, and still converts [KLARITY]. Circle Medical says "in 3 appointments" in its hero and still converts [CIRCLE]. MEDvidi says "one click away" and "no paperwork" [SHOT].

So the position I would take into the room is this: the funnel does not need more persuasion, it needs the disclosures moved forward, and it will cost conversion to do it. Say the number out loud rather than pretending otherwise. Then argue that the trade is correct on three grounds — the refund and support load created by patients who bought something they did not understand, the review damage that same cohort produces, and the fact that a 2024 FTC order against a direct peer ran on exactly this shape of claim [A4].

Week one, ranked by (conversion impact × legal exposure). All of these are cheap; none needs the AI Clinic Track; most need a copywriter and one front-end engineer.

  1. Split the seven-instrument consent, and get it out from behind the CTA. Two boxes: one for treatment-related consents (Telehealth Consent, AI Usage Consent) and one for commercial terms (Terms, Privacy, Refund Policy). Move both above the sticky footer, or make the footer non-sticky on that screen. Currently consent box 2 occupies y 751–877 on an 844px viewport with the CTA at y 721–769 [WALL]. Cost: a small conversion dip at the wall. Why it is still right: this is the single artefact a regulator would print first, and the fix is measured in hours.
  2. Reconcile the two refund statements. "We do not offer refunds" in the Terms [TC] sits behind the same checkbox as a policy listing six full-refund conditions [REFUND]. Pick one. Cost: none. This is a lawyer and an afternoon.
  3. Publish the cancellation method. The Terms authorise recurring charges "until you cancel your registration" and never say how [TC]. Write the how, put it in the Terms and in the FAQ, and make sure whatever the portal's save flow does, the stated method is one step and reachable without contacting support. Cost: real, once Prime launches — a frictionless cancel measurably raises churn. Why it is still right: the Cerebral order turned on a company that removed an easier cancel button after cancellations rose [A4]. That is the fact pattern. Do not create it.
  4. Fix the ASRS subtype transposition. Ten characters of JavaScript [ASRS]. It is a clinical-content defect on the highest-intent page in the estate, and it is the kind of thing that gets screenshotted. Cost: none.
  5. Disclose price and the no-guarantee before the account wall. One line on screen 0 or on the reassurance screen: "$195 for your first 30-minute visit. We don't take insurance. A prescription isn't guaranteed — your provider decides." The third clause already exists in the FAQ, in the "It's your choice" card, and in Klarity's hero [FAQ] [WALK] [KLARITY]. Cost: this one genuinely costs conversion, probably the most of anything on this list. Why it is still right: the people it loses are the people who were going to demand a refund, leave a one-star review about the PDMP decline, or charge back. Instrument it as an A/B test with refund rate, support contacts per booking and 30-day review volume as co-primary metrics, not booking rate alone.
  6. Put a consent-management platform on join.medvidi.com, or take the ad SDKs off it. Cookiebot runs 82 times on the homepage and zero times on the funnel, which carries Google enhanced conversions, Microsoft UET and an OpenAI SDK [WIRE]. Pick one of the two fixes this week. Cost: measurable loss of conversion signal for paid channels. Why it is still right: the FTC's Cerebral theory did not need HIPAA [A4].
  7. Carry ?service= through every CTA, and carry the test score with it. 49 CTAs audited, zero pass a service; the portal has read service, promocode, doctor_id and slot for a year [WALK] [A1]. For the two test pages, pass the instrument, the score and the subtype so the funnel can skip the questions it already knows the answers to and the clinician can see them. Cost: none. Upside: shortens the non-ADHD path from a dead-end checkbox to a warm start, and finally attributes the tests.
  8. Give weight loss a qualification screen. Today: one tap from checkbox to account wall, with no BMI, no comorbidity, no pregnancy question, no contraindication [WALK] — while the same company publishes a BMI calculator on the weight-loss marketing page that feeds nothing [PRICE]. Cost: conversion, and it should. Every declined GLP-1 patient who paid $195 first is a refund request, a chargeback and a review.
  9. Fix the two money pages' performance. ADHD LCP 4.4s, weight loss LCP 8.6s on an un-optimised 2024 PNG, both ~1.7s / 0.5s render-blocked, weight loss failing crawlable-anchors [LH]. Cost: none. And do not start a Core Web Vitals programme on the homepage — it scores 97.
  10. Then, and only then, the funnel bundle. LCP 15.9s and 504 KiB of unused JS on the entry screen of the paid funnel [LH]. This is the biggest number on the page and the slowest fix; it is an Angular route-splitting project, not a week-one item. Size it with the PostHog web-vitals data the company already collects [WIRE].

The two questions I would ask the CEO, which only fall out of having actually walked it: "Why does ADHD have a funnel and weight loss doesn't?" and "What does the Prime cancellation screen look like today, and who decided?" The first tests whether the product organisation is deliberate or accreted. The second is the one that matters.

DiscoveryBrain Inquiry 007 · MEDvidi
Fourteen Areas · adversarially verified · nothing summarised away