Bad Sauna
Background
A custom booking and operations system for a neighborhood sauna.
The problem
Bad Sauna was using Acuity for reservations, but the software didn’t match how the business actually operated. Customers regularly struggled with logins, memberships, passes, waivers, promotional credits, and booking multiple sauna sessions at once.
After enough customer complaints—and the ongoing cost of Acuity—the owner decided to replace it with a custom product.
The approach
My contributions included:
- Research
- Booking flows
- Responsive UI
- Staff and admin experience
- Prototyping
- AI-assisted development
- Design QA
Designing around how people actually use the sauna
A sauna booking sounds simple until you account for everything happening behind it.
Customers could have memberships, legacy credits, promotional credit, previously signed waivers, gift certificates, additional guests, or different cancellation rules. Availability also depended on when the sauna could physically operate in its rented space.
I worked with the owner, staff, and customers to understand those exceptions and redesign the experience around them.
Booking multiple sessions in a single interaction
One of the biggest problems with the previous system was booking consecutive sauna sessions.
Instead of forcing customers through several appointment steps, I redesigned the time-selection experience so they could select multiple available sessions in a single interaction.
What previously took several steps became one simple calendar action.
Keeping the complexity behind the interface
The booking system still needed to account for memberships, credits, waivers, gift codes, cancellations, and legacy accounts.
The customer shouldn’t have to understand any of that.
I designed the flow so the system handles those rules in the background and only asks customers for information when it is actually needed.
Designing for the people running the sauna
The customer booking experience was only half of the product.
Staff needed to check people in, see reservations, handle exceptions, and make changes across phones and tablets. The hardest interface problem became making a dense operational calendar usable across those different screen sizes.
I redesigned the employee experience around the information staff actually needed in the moment while keeping the calendar responsive enough to work from a phone, tablet, or larger screen.
Outcome
I stayed involved from research through implementation, working through responsive behavior, edge cases, staff feedback, and design QA as the product was built.
The finished system fully replaced Acuity.
The clearest sign of improvement has been how little customers now have to think about booking. Tasks that previously generated complaints are now largely invisible—the experience simply works.

