Can I code this? A Booking System for a Gym or Studio

Showing available class slots and letting someone reserve a spot is a well-documented booking pattern, the same core as Calendly's case — genuinely one of the more approachable builds here even with multiple classes and capacity limits.

Build it
Effort: a weekendRunning cost: $0/mo to start

Why CanICodeThis says Build it

  • A schedule of classes with a fixed capacity and a signup list is a straightforward data model
  • Preventing overbooking (stop accepting signups once a class is full) is a simple count check
  • Email confirmation on booking is one transactional-email call

The parts that'll cause problems

  • Recurring class schedules (this class repeats every Tuesday at 6pm, forever) need real recurrence-rule logic to get right
  • Waitlists that automatically promote someone when a spot opens are a small but genuine feature to build correctly
  • Payment for class packages or memberships adds a real Stripe integration beyond simple booking

How I'd build this

frontendAstro or Next.js
databaseTurso (SQLite) or Supabase
emailResend
hostingCloudflare Pages

MVP scope

  • A schedule of classes with date, time, and capacity
  • A public booking page — pick a class, enter name and email, done
  • Automatic email confirmation
  • Simple admin view to see who's booked into each class

Postpone to v2

  • Recurring weekly schedules generated automatically
  • Waitlists with automatic promotion
  • Paid class packages and memberships via Stripe
  • SMS reminders before class

What it actually costs to build

AI agent — with a subscription (Claude Pro/Max, Cursor, etc.)$0 marginal
AI agent — pay-per-use API, no subscription$43–$86 one-time
Hosting, once it's running$0/mo (free tier)
Domain name, if you want your own~$12/yr

Existing tools solving a similar problem typically run $6.95–$12/mo — see how they compare below.

The build prompt

Build me a class booking system for a small studio: an admin can create classes with a date, time, and capacity; a public page lists upcoming classes and lets someone book a spot with their name and email, refusing bookings once a class is full. Send an automatic email confirmation on booking. Simple admin view showing the roster for each class. SQLite behind a small API. Skip recurring schedules and payments for v1 — one-off classes and free booking are fine to start.

← try another idea · browse the full register