Work

Tram tickets in two taps

A regional tram operator's ticket app, rebuilt around the moment the tram is already arriving.

Role
Lead product designer
Year
2025
Length
5 months

The problem

Most people opened the app at the stop, with the tram in sight. The old flow asked for a zone, a ticket type, a passenger count and a payment method before showing a ticket. Riders gave up and boarded without one.

What we tried

We watched people buy tickets at three busy stops. Almost everyone bought the same ticket they bought last time, so we made that the first screen: one button with yesterday's ticket on it. Changing zones moved to a second screen for the few who needed it.

We also tested a map-based zone picker. It looked good in reviews and failed at the stop, where nobody had time to read a map. We dropped it.

What shipped

  • Repeat purchase on the first screen. Two taps from opening the app to a valid ticket.
  • Offline tickets. A bought ticket stays on the phone, so a weak signal on the platform doesn't matter.
  • Plain error messages. "Your card was declined. Try another card or pay at the machine" replaced a code nobody understood.

What I'd do differently

I'd involve the ticket inspectors earlier. Their questions about how a ticket looks at a glance changed the final design more than any usability session.