AXS
Redesigning Checkout for 14M Daily Visits
AXS was running three separate checkouts with a login step buried mid-flow that quietly cost mobile conversions. I rebuilt the whole thing into a single page, proved it in a 37-day A/B test, and it now runs as the default checkout across AXS globally, from Crypto.com Arena to The O2.

MY ROLE
End-to-end ownership
I led design on this one. I ran discovery, set the direction, built the component specs, and defined the A/B testing strategy with our PM. I partnered with a UI designer on visual polish and animation, and we handled QA and handoff together. The structure of the flow and its long list of edge cases stayed with me. Engineering owned the build, and I stayed close on tradeoffs throughout.
THE PROBLEM
Three codebases, one broken experience
AXS ran three separate checkout implementations, each built by a different team at a different time. None of them agreed with each other. Mobile carried most of the traffic and got the worst of it: a slow, multi-step flow with a login step jammed into the middle that dropped roughly 15% of users before they reached payment. It hadn't been meaningfully touched in years.
Checkout is the last step between wanting a ticket and owning one. At 14M+ daily visits, a fraction of a percent of conversion is real money for every client on the platform.
THE APPROACH
One page, login out of the flow
My first instinct was a radically minimal checkout: one screen, nothing extra. Engineering pushed back, and they were right. The flow had to handle multiple ticket types, insurance add-ons, accessibility holds, and a long tail of payment edge cases. So I stopped trying to simplify by deleting things and leaned on progressive disclosure instead. The core flow stays light. The complexity only surfaces when a transaction needs it.
The biggest structural change was collapsing a five-page flow onto a single page. The old version also wedged a login step into the middle of checkout, around page two or three of five, which stalled people right when they were trying to finish. I moved authentication in front of checkout instead, so once the purchase starts, nothing interrupts it.

Seven separate pages collapsed to three screens. Sign in moved ahead of checkout and the remaining steps merged onto one page.
WHY ONE PAGE
What collapsing the flow unlocked
EXPERIMENTATION
Shipped as a hypothesis
The redesign went live as a controlled A/B test across multiple AXS client properties and ran for 37 days. I built the experiment framework, defined the variants, and set success metrics with our PM: conversion rate, time in checkout, and drop-off by step.
Once the first test landed, we kept going with multivariate experiments on add-on placement, pricing display, and checkout sequencing. Every round fed straight back into roadmap priorities.
The results held, so the redesign rolled out as the default checkout across all of AXS's markets. It's live now at venues like Crypto.com Arena in LA and The O2 in London, and it's the flow that will carry ticketing for events on the scale of LA28 and Coachella.

Legacy and variant performance side by side, with variant orders and revenue projected to equal traffic.
SYSTEM IMPACT
Patterns that outlasted the project
When I started, AXS didn't have one design system. Different teams were building off different component libraries, so the same elements looked and behaved differently depending on where you were in the product. The patterns I built for this checkout (payment forms, add-on cards, confirmation states, progress indicators) became the foundation for consolidating those into a single global system. A checkout redesign turned into the starting point for unifying how the platform builds UI.

Checkout patterns (payment fields, add-on cards, confirmation states) became foundational components in the global design system.
REFLECTION
What I'd do differently
The 37-day test gave us clean topline numbers, but I wanted more segmentation than we had. How did the redesign perform across event types, like concerts versus sports versus festivals? Across price tiers? For new buyers versus returning ones? We didn't have that breakdown at the time, and having it would have made the next iteration a lot sharper.