Shift scheduling across a coffee chain's outlets

A mobile web app that replaced roster planning over WhatsApp. Managers plan and adjust shifts across outlets, and staff check their shifts, pick up open ones and send requests from their phones.

120+outlets nationwide, rolled out in phases

Details

Used by
Outlet managers and staff, full-time and part-time
Platform
Mobile web app
Built with
React · Node.js · MySQL

Case study

The problem

The Singapore operator of one of the world's largest coffee chains scheduled its outlet staff through ad-hoc WhatsApp messages. Each outlet tracked shifts and attendance its own way, last-minute swaps and drop-outs were hard to cover, and staff who wanted extra hours had no easy way to see where they were needed.

What we built

A web app that behaves like a phone app, with the touch and drag interactions people expect. Managers plan and adjust rosters across outlets, and full-time and part-time staff check their shifts and send requests from their phones. Open shifts are visible across outlets for staff to pick up, and attendance is recorded in the same place. Badges and points add a light layer of gamification. User studies with each group of users shaped the design. Every manager also had their own way of scheduling, so before building we worked with them to agree on one shared process.

What changed

Shifts moved out of WhatsApp threads into one place that managers and staff could both see. Users said shifts had become clearer and easier to organise. The system was handed over to the client's internal team in 2021.

Technical notes

Mobile-first web app with touch and drag interactions throughout. React front end; Node.js and MySQL back end. Testing and user acceptance ran on my own servers; the client's internal team hosts it in production.

My role

Owned the build: architecture, development and testing, working alongside a design firm that led user research and design. Handed over to the client's internal team.

Back to work