Design case study · Admin panel, customer portal and mobile app

A four‑step booking flow, branded for every operator.

I designed Find Your Calm's admin panel, customer portal and operator‑branded mobile app, and cut booking from 9 steps to 4.

RoleProduct Manager · Product Designer
Team4 full-stack devs · 1 WordPress dev · me
PlatformsWeb (admin panel and customer portal) · iOS and Android app
TimelineJun – Aug 2025 · about 3 months
StatusLive · 17 UK operators
Problem

Rooftop Saunas' old booking system took 9 steps and asked for too much information. The new software also had to work for other operators later, each with its own brand.

What I designed

The admin panel operators run their business from, the customer portal for bookings, memberships, packs and gift cards, and the operator‑branded mobile app, starting with Rooftop Saunas' version. I was the only designer on the team.

Result
+31%

Booking completion after the new design replaced the old system

17

UK operators live

Client feedback
“You have very good system knowledge and you understand how the business operates. It helped me a lot. I was always satisfied with your design and product decisions. You're the one person I can rely on, and you've never disappointed me.”
— Sam B, COO, Rooftop Saunas
01 · Users and constraints

Who uses it, and what it had to fit

Three kinds of user, one existing website and about three months.

Who it's for

Operators
Run their business from the admin panel: bookings, locations, pricing and schedules across several sites.
Their customers
Book a slot on the operator's own website or app, and manage bookings, memberships, packs and gift cards in the customer portal.
Operator staff
Manage the day: bookings and customers.

What it had to fit

Time
About three months, June to August 2025.
Switch-over
Bookings couldn't stop while Rooftop Saunas moved across from its old system.
Existing site
Booking forms and calendars had to sit on Rooftop Saunas' existing WordPress site.
Pricing
Every slot priced separately, and every location on its own schedule.
More operators
Built for Rooftop Saunas first and for other operators after, each with its own brand.
02 · Booking: before and after

Nine steps down to four

Drag the divider, or use the arrow keys.

Old booking modal: a separate Select location step with two locations and a Continue button, no progress shown
New booking modal: Service details with a four-part progress bar, the number of people on the same screen and a booking summary that fills in
Old booking modal (left): a separate location step with no progress shown. New (right): four steps with progress, people count on the same screen, and a live booking summary.
03 · Structure

How the operator app is organised

Information architecture of the operator app: five tabs including Membership
Single-session booking user flow
04 · Design decisions

Booking, memberships and each operator's brand

The problem behind each one, the decision, why I made it, and what it cost.

Booking in four steps

Customer portal · new booking, step 1 of 4
Problem
The old system took 9 steps to make a booking and asked for too much information along the way.
Decision
I proposed a 4-step booking flow and got the client's sign-off on the design.
Why
Every extra screen was another place to drop out. I removed the separate form, guide and room screens and grouped related actions, so each step holds two or three of them instead of one per screen.
Trade-off
It moved away from the standard step-by-step booking pattern wellness businesses were used to, so operators had to adjust to a new way of working.

Memberships, packs and gift cards inside the booking journey

Paying with membership credits inside the booking
31 credits used; only the add-ons are paid
Problem
The platform needed recurring revenue as well as one-off guest bookings.
Decision
Memberships, packs and gift cards came before guest booking, and the offer moved out of post-checkout and into the booking journey itself.
Why
Recurring revenue, and knowing who the customer is on every booking.
Trade-off
Fewer first-time visitors finished a booking.
What I did about it
I added Microsoft Clarity and Mixpanel from the start of the project. Mixpanel tracked bookings, membership, pack and gift card purchases, and user behaviour; Clarity's heatmaps and session recordings showed where customers dropped out. The biggest drop was in the booking flow, so we fixed that first.

One shared design, each operator's brand

Admin panel · bookings and order creation
Problem
The software had to run Rooftop Saunas from day one and still be sellable to other businesses.
Decision
I decided which features every operator shares and which each operator sets up. The customer portal and mobile app carry each operator's own brand; the Rooftop Saunas app is one operator's version.
Why
Features built for a single operator would break the platform for everyone else.
Trade-off
Some features moved to later releases, moving Rooftop Saunas onto the shared design was harder, and I said no to custom requests from single operators.
05 · Key flow

Four steps to a booking

  1. 1Service
  2. 2Schedule
  3. 3Extras
  4. 4Review
Booking steps, as named in the product
  1. 01 · Service: choose the session and number of people
  2. 02 · Schedule: pick a date and time; peak times marked; join a waitlist if nothing fits
  3. 03 · Extras: optional add-ons with a running total
  4. 04 · Review: sign in or create an account, coupon, pay
06

Beyond booking

Booking is the core of the app, but customers also use it before and after they book. These screens cover finding a session, managing what's booked, and buying for someone else.

Before booking

Onboarding introduces the operator's own brand and explains private cabins before sign-up.
Home leads with current offers and services, so customers can book from the first screen.
Each service shows price, length, what's included and group size, then one button to schedule.

After booking

Upcoming bookings show date, cabin and directions without opening the booking.
When a slot is full, customers set an availability alert for a date and time window, and can cancel it from the same screen.
Gift cards are bought in the app and applied automatically to the next booking.
07

The admin panel

Operators and their staff run the business from the admin panel. It has three areas: Operations for the day-to-day, Analysis for owners, and Configuration for setting the business up.

Operations

Dashboard: key metrics against the previous 30 days, filtered by location, service type and date range. Sample data. Figures blurred.
Live room status: temperature, humidity and movement for each sauna room at a location.

Analysis

Bookings report: volume, occupancy, cancellations and no-shows, with occupancy by day and by hour so operators can see their peak times. Sample data; headline figures blurred.

Configuration

Pricing rules: operators set their own, such as charging per extra person, with validity dates, priority and whether rules stack.
08 · Design system

What the screens are built from

The parts every operator shares, and the brand each operator brings.

Web
The admin panel and customer portal are built on Ant Design 5, with a design-variables library.
Mobile app
DM Sans, primary blue #276EF1, black and a grey scale.
Mobile components
Component libraries for Foundation, Core components, Forms, Overlays, Indicators, Messaging and Navigation.
Per operator
Each operator gets its own logo, name and theme by changing variable values; the screens stay the same.

Empty and error states

Five empty states and the no-internet error state, each with a clear next action
09 · Testing and changes

From first wireframes to after launch

Research finding
The old system was only a booking tool. It had none of the features a wellness business runs on, such as memberships, packs, gift cards, add-ons and waitlists, and it wasn't designed around how customers actually book. The new platform was built around both.
Before design
Every booking scenario was mapped first, with wireframes in Miro and Figma.
From the start
Mixpanel tracked bookings, memberships, packs, gift cards and user behaviour, on the old system first and on the new platform from launch. Microsoft Clarity heatmaps and session recordings showed where customers dropped out. The booking flow came first.
During the build
Weekly check-ins with the client, and research before every sprint.
Before switch-over
Every booking path was tested and all data moved from the old system, so bookings kept flowing.
After launch
I improved the booking journey end to end using where customers dropped out, behaviour data from Microsoft Clarity, Mixpanel and GA4, session feedback and common support questions.
New operators
I defined the digital onboarding journey for new operators.
10 · Results

Live since August 2025

+31%

Booking completion, relative to before

9 → 4

Booking steps, old system and new flow

< 1 wk

For a new operator to go live

17

UK operators live

Booking completion compared with the old system, after the new design went live. Shown as a relative change; the underlying data is confidential.

What shipped

  • Admin panel: bookings, locations, pricing and schedules across several sites.
  • Customer portal: bookings, memberships, packs and gift cards.
  • The operator-branded mobile app, starting with Rooftop Saunas.
  • Booking forms and calendars on Rooftop Saunas' existing WordPress site.
  • Reports for operators, such as revenue over time.
Admin panel · revenue report · sample data
11 · What I'd do differently

Test with real operators sooner

Put the operator side in front of real operators earlier. Testing operator setup and onboarding with real operators sooner would have shown us sooner which features every operator should share and which each should set up.