Miguel Garcia • Project

← All projects

WellStudio Platform

I built WellStudio to work through booking capacity, credit accounting, and payment retries in one application. It covers the public site, member accounts, and staff tools. The demo uses synthetic data and has no live studio users.

  • Visitors can browse sample classes and plans, or leave an enquiry.
  • Members can book or cancel a class and check their entitlements and credit balance.
  • Staff can manage the day's classes, open sessions, and book for members within the same capacity limits.

WellStudio is a modular Next.js monolith. Routes call domain services; PostgreSQL and Prisma store bookings, entitlements, and the credit ledger. Supabase Auth handles identity. Before granting credits, the payment service checks provider events against the purchase recorded locally.

  • Bookings check capacity and spend credits in a serializable transaction, including when members compete for the last place.
  • Database migrations keep active bookings unique while preserving repeated cancellations and waitlist history.
  • Payment, provider-event, and notification keys identify work already processed, so a repeated confirmation does not grant credits again.
  • Public schedule, plans, and demo lead capture
  • Member portal with bookings, cancellations, and credit balances
  • Staff tools for assisted bookings under the same capacity rules
  • Credit-pack checkout using either the application simulator or Stripe test mode
  • Next.js
  • TypeScript
  • Prisma
  • Supabase
  • Stripe