Project 1

Rebuilding a booking flow that people could finish

Project 1 is a booking product used by a few thousand people a week. It worked, in the sense that a determined person could get to the end of it.

Most people were not determined. Just under a third of the people who started a booking finished one, and nobody in the team could say exactly where the rest went.

Placeholder image for Project 1

TypeScript, Next.js, Node.js, PostgreSQL

The problem

The flow had grown one field at a time. Every request from support, finance or legal had been answered by adding a step, and no one had ever taken one away.

By the time I arrived, a booking asked for twenty-three pieces of information across seven screens. Some of it was needed to make the booking. Some of it was needed eventually. Some of it was needed by nobody at all.

Nothing in the flow was unreasonable on its own. All of it together was unreasonable.

The first job was not design. It was working out which questions had to be answered before a booking could exist, and which had simply ended up there.

What we did

We started by watching eleven people try to book something while talking out loud. That took two days and settled arguments the team had been having for a year.

Then we made three decisions:

  • Ask for payment details last, not first. People were being asked to commit before they knew what they were committing to.
  • Move everything that was not required for the booking itself into an optional follow-up.
  • Stop validating the whole form on submit and start validating each field as people left it.
Placeholder image

The rebuild took eleven weeks. We shipped it behind a flag to five percent of traffic for the first two, which caught two problems that no amount of internal testing had found.

What changed

Completion went from 31% to 68% over the following quarter. Average time to book dropped by just over four minutes.

The result the team cared about most was quieter: support tickets about the booking process fell by roughly two thirds, which gave two people their week back.

What I would do differently

I would have watched people use the old flow in the first week rather than the third. Almost every strong decision we made came out of those eleven sessions, and we spent a fortnight arguing about things that a morning of watching would have answered.

Visit the site ↗