Most of Virgin America's revenue came from business travelers. These are frequent flyers who pay premium prices and book last minute. They'll figure out any booking system, like a mouse in a maze with cheese at the end. But leisure travelers, who book 2-3 times per year, were struggling.
An airline ticket is one of the more complex consumer products to purchase: choose travelers, select dates and times, pick flights and seats, align with hotel and car reservations, enter payment information, choose fare types and ancillaries. Leisure travelers were failing to convert at alarming rates.
The strategy: Make it simpler for leisure travelers without compromising the experience for business travelers.
In 2014-2015, the industry was obsessed with reducing clicks to improve conversion. Everyone believed fewer clicks meant better conversion. We discovered something more fundamental: it's not about the number of clicks... it's about the number of decisions.
Combining multiple decisions into one screen to reduce clicks actually makes the experience more complicated and overwhelming. Each decision needs space to breathe. People need cognitive breathing room.
Our insight was simple: separate every major decision into its own step. Don't try to minimize clicks—try to clarify choices.
We redesigned the entire booking flow around individual decisions. Who's going. When you want to travel. Which flights work. Where you want to sit. Who's traveling. How you're paying. Each step optimized independently, with clear progress indicators and easy ability to return and modify earlier decisions.
This wasn't just a visual refresh. Virgin America's booking ran on Sabre, an IBM mainframe from the 1970s. We were integrating bleeding-edge Angular with one of the oldest enterprise systems still in production. This became the largest Angular project at the time.
“Why would you ever start an airline? ”
someone working with Sabre's API
We insisted business logic stay in the API rather than the front-end. This required extensive collaboration with Virgin America's API team to design stateless endpoints that could handle complex booking flows.
The website launched to immediate industry acclaim. Featured heavily on design Twitter the day after launch. Won Webbies, UX Awards, and Cannes Lions. Became a Work & Co portfolio staple as "the first responsive airline website." Conversion improved 15%.
But the app wasn't "good" until we'd spent another year optimizing it. We needed to add prices to the calendar, we needed to make it easy to go back step by step, we wanted to put the city illustrations on the confirmation page. We needed to test and improve. And by then, we could see the pattern we established taking hold in the industry. The step-by-step, decision-by-decision flow influenced booking flows across industries.
What sticks with me more than the work was the team at Work & Co and Virgin America. I've never worked with such an amazing group of designers, developers, strategists, and managers. While it was a team of individual greats, we were greater than the sum of our parts. We were a team where everyone could be themselves. Where everyone had each others backs. Where everyone wanted to make the best possible product. It's still inspiring to think about.
Following the website, we built Virgin America's mobile app. When Alaska Airlines acquired Virgin America, we started working with them on their digital interfaces.
