← Selected work

Cutting lab checkout down to one screen

Lab checkout was 7 screens built for supplements. I designed the one-screen replacement; after a broken first experiment, it now carries over half of all web lab checkouts.

Senior Product Designer — Patient Experience · April – September 2026

  1. A practitioner-ordered blood test went through a checkout built for buying supplements: 7 screens and 9 clicks, with 37% of patients abandoning before checkout even started.

    Instead of rebuilding checkout, I designed one standalone screen that collects exactly what a labs order needs and bypasses the cart and checkout entirely.

    After a failed first experiment, a relaunch, and one payment-button fix worth 3–4 points, it went GA with a projected ~3.5-point lift in 30-day conversion.

  2. Seven screens to buy a blood test

    When a practitioner ordered blood work, the patient walked the full e-commerce funnel: email, consent, catalog, plan review, cart, address, payment. Seven screens and nine clicks — like being sent to pick up a prescription and having to walk the whole department store to reach the pharmacy counter.

    37.3% of patients who added a lab to cart never started checkout — but 95% of those who reached checkout finished it. The friction was all upstream. The pitch was mostly this diagram
  3. Not a shopping decision

    Labs plans converted at roughly 57–65% from sent to paid, while Rupa Health, the competitor Fullscript had acquired, converted at about 79% on a much leaner flow. A provider-recommended test isn't a shopping decision; the patient already decided in the appointment. Every screen after the email asked them to decide again.

  4. Beside checkout, not inside it

    We didn't touch checkout. Engineering's insight: build one standalone screen that collects exactly what a labs order needs and bypasses cart and checkout completely. No dependency on the checkout migration running in parallel, and if the experiment failed we'd delete one page, not unwind a replatform.

    Everything required to place the order, on one screen, and nothing else. The screen works because of what isn't on it
  5. Three kinds of patients

    A new patient has an account their practitioner created but never touched — they get every field, once, inline. A returning patient mostly confirms: saved card, pre-filled profile. The email link itself is the authentication, so there's no login wall and the email field renders read-only.

    Same screen, three amounts of work. The tricky one is the multi-practice patient — clicking Clinic B's email while signed in under Clinic A — where the screen must render in the sending practice's context regardless of session
  6. Hiding the practitioner's message

    I tucked the practitioner's note behind a View message button: checkout first, everything else secondary. Our EM pushed back hard — this is healthcare, not Stripe, and the practitioner's voice probably drives purchases. We shipped it hidden, agreed to test open-by-default later, and I still don't know who's right.

  7. The first experiment broke

    It went live June 5 at 5%, then 20%, then 50%, and the first experiment fell apart. Two edge cases bounced treatment patients back into the standard flow, a parallel checkout migration muddied every comparison, and my own QA found multi-practice patients landing in the catalog instead. On July 10 we shut off the experiment — not the feature, the measurement.

    My QA notes, warts and all. The multi-practice routing bug was exactly the failure the design existed to prevent
  8. One button, worth 3–4 points

    We relaunched July 21 as a clean 50/50 and sat through three weeks of "it's not doing poorly, it's not doing well." Then one fix: the step for adding a card wasn't reading as a step, and every new patient stalled right at the money moment. Making it an explicit action moved conversion 3–4 points on its own.

  9. Outcomes and impact

    +2.2 pts1-day conversion lift

    Treatment vs control, mature cohort at GA.

    +2.9 pts7-day conversion lift

    ~+3.5 ptsProjected 30-day impact

    At full coverage, across every labs-only order on the platform.

    GA for all labs-only orders on September 2, 2026. The pattern was ported to Journeys orders while the experiment was still running. Ninety days on, the platform's own numbers put monthly lab orders through the express flow up 589%, carrying over half of every lab checkout patients start on the web.

  10. What's still on the legacy flow

    Mobile is the queued half, and the platform has since sized it: roughly 4,500 lab orders a month still walk the seven screens, worth another 10–15% conversion if the same pattern lands there. The footnote I wrote at GA turned out to be the next bet.

  11. Nearly judged on a broken experiment

    Speed to the purchase moment is the lever, and the strongest move was subtraction. But months of flow architecture swung less than one button reading wrong — and we nearly judged the whole idea on a broken experiment. Hold your read loosely until the instrumentation deserves your confidence.

  12. Thanks

    • Jeremy Fry — PM'd this as his first product release and wrote the PRD that gave the team its problem framing.
    • James Scoville — Led the front-end build and carried the project through a code freeze and two launches.
    • Eric Mulligan — Built the order-placement backend.
    • Mark Gaucher — Rounded out the engineering build.
    • Andrew Hillier — Steered as EM, did far more analytics than an EM should have to, and pushed back on hiding the practitioner's message — the challenge that most improved my thinking.
    • Max Silverbrook — Untangled the measurement and made the GA call.
    • Alexander Li — Did the conversion analytics that finally let us trust the numbers. It was, as Max put it, a beast.