Specscart's lens selection flow asked customers to make too many choices, too early, with too little information. I redesigned it so the right options find the customer — not the other way around.
Choosing a frame on Specscart takes seconds. But the moment a customer hit "Add lenses," the experience changed: four dense steps, repeated technical jargon, and a prescription form saved for last — after every decision that depended on it.
I owned this redesign end to end. I audited the live flow, studied how competitors handle the same steps, restructured the order of decisions, and handed finished screens with interaction specs to the developers. All inside a four-day sprint.
Before redesigning, I audited how leading eyewear retailers handle lens selection — plus lens-technology positioning from premium lens brands.
Best-in-class checkouts ask for the prescription first, so incompatible lens options never appear. The customer only ever sees choices that work for their eyes.
Shared lens features (anti-glare, UV, anti-scratch) are surfaced once per step — not repeated inside every option card, where they read as differences instead of constants.
Walking through the live flow, five problems kept coming back, contributing to cart abandonment. Each one is small on its own. Together, they turned a purchase into a chore.
Every lens decision came before the one input that determines which lenses are even possible. Customers could configure combinations their prescription didn't support.
Anti-glare, UV and anti-scratch appeared inside each option card, forcing customers to re-read identical text to hunt for actual differences.
Nothing stopped a customer from choosing lenses that didn't fit their prescription — a manual support intervention was needed to fix each order.
Subtotal, dispatch time and even the selected frame name were hidden or inconsistent across steps, so customers lost track of what they were buying and for how much.
Returning buyers — the most valuable segment — had to rebuild their entire lens configuration from scratch for every new frame, re-answering questions the system already knew the answers to.
The same flow serves a first-time buyer who needs guidance and a repeat customer who needs speed. The old design served neither well.
One structural change unlocked the whole redesign: asking for the prescription earlier means every option shown afterwards is guaranteed to be compatible.
Every change below maps directly to one of the five pain points — nothing was redesigned for redesign's sake.
The prescription moved from last to second. Lens options now sort and filter based on what the customer's eyes actually need — incompatible combinations never render, and the manual support intervention they used to require is gone.
Common lens features — anti-glare, UV, anti-scratch — are stated once per step as a baseline, so option cards only show what's different. Comparison becomes glanceable instead of a reading exercise.
Returning customers can apply their previous order's lens preferences directly to a new frame. The system remembers, so they don't have to.
Subtotal, dispatch time and frame name moved to persistent, prominent positions. At any step, the customer knows exactly what they're buying, when it ships, and what it costs.
Coatings and premium packages still get their moment — but as clearly-labelled upgrades on a compatible baseline, not as jargon walls blocking the path to purchase. Business goals and decision clarity stopped competing.
The redesigned checkout restructured lens selection from four steps with late prescription entry into a prescription-second flow with dynamically filtered options.
This project sharpened how I balance business goals against decision fatigue. Specscart needs to upsell coatings and packages; customers need fewer, clearer choices. The answer wasn't choosing sides — it was sequencing: establish a compatible baseline first, then offer upgrades that read as genuine value instead of obstacles.
It also proved the leverage of structural fixes over cosmetic ones. The single decision to move the prescription earlier eliminated an entire error class, a support workflow, and three UI patches that would otherwise have been needed downstream.
Want the full breakdown, the Figma file, or a walkthrough of the flow logic? Let's talk.