Case study

Burn Mat Studio

A boutique Pilates and yoga studio in Stockton-on-Tees needed a professional digital presence that handled the full member journey — discovery through to repeat booking — without enterprise overhead or cost.

Forma's first tenant · burnmatstudio.co.uk

6

Class types

3

Instructors

10

Max class size

3

Payment paths


The challenge

Great classes,
generic tools

The studio was managing bookings, payments, and member communication through generic tools that weren't built for small boutique studios. The experience for members felt functional but impersonal — a booking widget on a template site.

Enterprise platforms like Mindbody and Glofox were overpriced and overbuilt. Generic website builders couldn't handle real-time booking. Freelance builds couldn't scale or be maintained affordably. The studio needed something in between.

What we built

A complete platform,
not just a website.

Forma delivered a full-stack application — public-facing marketing site, real-time booking engine, payment processing, member accounts, staff tools, and admin dashboard. All under one roof, all on-brand.

Cinematic marketing site

Single-page design with animated canvas gradients, staggered entrance animations, class showcase, instructor profiles, live timetable, and transparent pricing — all pulling from the database, never hardcoded.

Real-time booking engine

Live spot counts for every class (capped at 10), 30-minute booking cutoff, and double-booking prevention enforced at the database level. When a class fills, the waitlist takes over automatically.

£

Three unified payment paths

Unlimited memberships, 5 or 10-class credit packs with expiry tracking, or single drop-in sessions via Stripe Checkout. One booking modal intelligently detects the best option for each member.

Automated waitlist system

When a class fills up, members join the waitlist. When a spot opens, the next person gets an email notification with a 30-minute window to claim it. No manual chasing.

Member dashboard

Upcoming and past bookings, pack credit management with animated progress bars and expiry warnings, profile settings, and engagement stats — classes attended, weekly streak, credits remaining.

Studio admin panel

Full CRUD for classes and schedules, member management, booking oversight, team management, and a filtered staff view showing attendee lists for each instructor's assigned classes.

How booking works

Three ways to pay,
one seamless flow.

01

Membership

Unlimited monthly access. Members book any class instantly — no credits to count, no limits. Recurring billing handled by Stripe.

02

Class packs

Buy 5 or 10 credits upfront. Each booking deducts one credit. Animated progress bars track usage, with expiry warnings as the deadline approaches.

03

Drop-in

Single-class purchase via Stripe Checkout. No account required to browse, but booking creates a member profile for future visits.

The booking modal auto-detects which option to present based on the member's account state. Members with an active membership book instantly. Pack holders see their remaining credits. Everyone else sees the drop-in price. No confusion, no wasted clicks.


Fit and finish

The details that make it
feel real.

A final sprint of UX polish turned a functional platform into something that feels crafted. Every interaction has weight and intention.

Shimmer skeleton loaders for perceived performance

Toast notification system replacing browser alerts

Tactile button press states across all interactions

Staggered entrance animations on cards, timetable slots, and lists

Animated pack credit progress bars with ember glow on expiry

Branded empty states with encouraging copy

Today indicator on timetable with auto-highlight

Slide-up cookie banner

Route-level branded loading spinners

Class-specific SVG icons in the booking modal

Member stats dashboard with streak tracking

Brand system

Boutique wellness,
not corporate gym.

The entire visual identity was built from the studio's existing logo — a warm, earthy palette that feels premium but approachable. Every colour, typeface, and micro-interaction reinforces the same aesthetic.

Colour palette

Wheat

#F5E6D3

Cocoa

#4A3728

Gold

#C8A97E

Cream

#FAF5EF

Sand

#D4C4B0

Charcoal

#2C2C2C

Ember

#D4845E

Blush

#E8C4B8

Typography

Cormorant GaramondDisplay
DM SansBody

Under the hood

Modern infrastructure,
studio-grade reliability.

Next.js

Full-stack framework

Supabase

Auth + database

Stripe

Payments

Resend

Transactional email

Tailwind CSS

Styling

Vercel

Hosting

Key technical decisions

Webhook-driven payments. Bookings and credit purchases are only confirmed after Stripe fires a webhook — never optimistically. This prevents phantom bookings and ensures every confirmed spot is backed by a real payment.

Database-level integrity. Double-booking prevention isn't handled in application code — it's enforced by database constraints. Even if two members click “Book” at the exact same millisecond, only one gets the spot.

Transactional email from the studio's domain. Booking confirmations, pack receipts, cancellation notices, and welcome emails are all sent via Resend from the studio's own domain — not from a generic @forma address.

The result

A platform that feels like
theirs.

Burn Mat Studio now runs on a fully integrated platform — website, booking, payments, member accounts, and admin tools — all under one brand, with no enterprise price tag and no duct-taped integrations.