Delivered engagementSaaS & Infrastructure · $25k – $35k
Holloway Studios

Fitness & wellness SaaS

Delivered engagement. Coralsoft designed and built this product end to end; figures below retain their evidence level.

WebBackendNext.js 15Supabase (Postgres + RLS + Auth + Realtime)Stripe Billing
multi-tenant-fitness-saas.example / dashboard
Studio admin panel — weekly class schedule, utilization and MRR, and live waitlist activity
The situation

What was in place before we started.

A full-stack, multi-tenant SaaS platform, built from scratch for the operator of a boutique yoga and pilates studio chain that decided to turn an internal management tool into a product sold to other studios.

The client ran 8 studios using a mix of Google Calendar, spreadsheets, and manual SMS reminders. Class scheduling, waitlists, membership billing, and instructor payouts were all handled separately per location — with no unified reporting, the owner couldn't compare studio performance or automate even the simplest processes.

When the client started fielding requests from other studio chains (“can we get something like this too?”), it became clear the internal tool had the potential to become a standalone product. But the internal version had been built for a single company — no multi-tenancy, no data separation between organizations, and no billing system for onboarding new studio clients.

Constraint

A tight timeline: the client wanted to launch a beta with the first external studios within 3 months, to avoid losing momentum on inbound interest.

Timeline
6 months reconstructed
Team
5 people reconstructed
Budget
$25k – $35k reconstructed
Platforms
2
Stackrecorded
Next.js 15Supabase (Postgres + RLS + Auth + Realtime)Stripe BillingStripe ConnectVercelTwilioResend
Challenges

Each constraint, and what we did about it.

Constraint

A tight timeline: the client wanted to launch a beta with the first external studios within 3 months, to avoid losing momentum on inbound interest.

What we did

Every studio client runs on shared infrastructure and a shared codebase, with Supabase Auth and Postgres Row-Level Security tying every record to a studio_id — data isolation is enforced at the database level, not just the application layer. Postgres holds the schema covering studios, locations, classes, bookings, memberships, and waitlists, and the frontend is a single Next.js 15 (App Router) codebase running three separate experiences (admin, member, instructor) that share components and a design system.

Results

Outcome, with the source of every figure.

14
studios on the platform by the end of beta
self-reportedCoralsoft's own figure for its own delivery, stated in cases.ts. No third-party attestation in the sources.
22% → 4%
share of classes running under capacity despite a full waitlist
self-reportedCoralsoft's own figure for its own delivery, stated in cases.ts. No third-party attestation in the sources.
9 hrs/week
saved per studio on manual instructor-payout calculations
self-reportedCoralsoft's own figure for its own delivery, stated in cases.ts. No third-party attestation in the sources.
Showcase

How the system fits together.

3 of 3 views
multi-tenant-fitness-saas.example
Member-facing app — class booking with an auto-promoting waitlist
multi-tenant-fitness-saas.example
Instructor portal — attendance stats and a payout breakdown by classes taught
multi-tenant-fitness-saas.example
Billing architecture — Stripe Billing studio subscriptions and Stripe Connect instructor payouts
Roadmap

How it was sequenced.

6 monthsreconstructed delivery
Weeks 1–4

Discovery & architecture

Managing schedules, instructors, pricing plans, attendance and revenue reporting, and custom branding (logo, colors) for the member-facing app.

  • Studio admin panel
Weeks 5–13

Core build

Booking classes, an auto-promoting waitlist, attendance history, and managing the subscription and payment method.

  • Member-facing app
Weeks 14–17

Integrations & data

Their own class schedule, attendance stats, and a transparent breakdown of payouts based on classes actually taught.

  • Instructor portal
Weeks 18–22

Hardening & QA

Tracks two separate entities: the studio's subscription to the platform (Stripe Billing, plans tiered by number of locations/members) and instructor payouts (Stripe Connect, automatic splits based on

  • Billing engine
Weeks 23–26

Launch & handover

When a booking is cancelled, the system automatically offers the open spot to the next person in line via push/SMS with a 15-minute confirmation window, then moves to the next candidate if it expires.

  • Waitlist automation

More work like this.

Every case study is a Coralsoft delivery story, with the evidence behind each figure kept visible.