SaaS and B2B

Tech stack for a booking and scheduling SaaS (2026)

Gym and studio booking SaaS, designed by StackPrism from one sentence: 11 components, a reason for each, and the live checks that watch them.

The stack

  • Next.js
  • Node.js
  • Inngest
  • Clerk
  • SendGrid
  • Stripe
  • Twilio
  • Supabase
  • PostgreSQL
  • Redis
  • Sentry
SaaSBookingsPaymentsUpdated
The idea someone typed
“A booking SaaS for gyms and fitness studios. Members book classes and pay for memberships, studios manage schedules and instructors, and members get email and SMS reminders.”

Make it yours. Open this stack in the editor to check its health, harden it and hand it to your coding agent. No sign-up, nothing to generate.

Start from this stack
goes down

Select a component to see what it does and what it connects to, or pick one above to see what breaks if it goes down. Pinch or use the buttons to zoom.

Why this stack

Members and studio staff use one Next.js app on Vercel, with Clerk keeping member, instructor and admin access apart. The Node.js API owns the booking rules, like seat limits and membership status, in PostgreSQL, and takes short locks in Redis so two people can’t book the last spot. Stripe runs memberships and payments. Inngest schedules the reminders, which go out by SMS through Twilio and by email through SendGrid. Supabase Storage holds studio logos and instructor photos, and Sentry reports errors.

Why each piece

All 11 components on the diagram: what each one does, what it talks to, and what stops if it goes down.

  1. Next.js Web App

    In Vercel

    Marketing and portal. Calls Node.js API, Sentry (reports) and Supabase Storage (uploads).

    Nothing else on the diagram depends on it.

  2. Node.js API

    In Vercel

    Booking API. Calls Clerk (auth), Inngest (triggers), Sentry (reports), PostgreSQL (reads/writes), Stripe (charges), Supabase Storage (reads) and Redis (locks). Called by Next.js Web App.

    If it goes down, 1 of 10 components stops working.

  3. Inngest

    In Vercel

    Background workflows. Calls Twilio (sends) and SendGrid (sends). Called by Node.js API (triggers).

    If it goes down, 1 of 10 components degrades.

  4. Clerk

    User authentication. Called by Node.js API (auth).

    If it goes down, 2 of 10 components stop working.

  5. SendGrid

    In External Services

    Email notifications. Called by Inngest (sends).

    If it goes down, 1 of 10 components degrades.

  6. Stripe

    In External Services

    Payments and billing. Called by Node.js API (charges).

    If it goes down, 1 of 10 components degrades.

  7. Twilio

    In External Services

    SMS reminders. Called by Inngest (sends).

    If it goes down, 1 of 10 components degrades.

  8. Supabase Storage

    In Data & Storage

    Media and documents. Called by Next.js Web App (uploads) and Node.js API (reads).

    If it goes down, 2 of 10 components degrade.

  9. PostgreSQL

    In Data & Storage

    Primary database. Called by Node.js API (reads/writes).

    If it goes down, 2 of 10 components stop working.

  10. Redis

    In Data & Storage

    Upstash cache. Called by Node.js API (locks).

    If it goes down, 1 of 10 components degrades.

  11. Sentry

    In External Services

    Error tracking. Called by Node.js API (reports) and Next.js Web App (reports).

    If it goes down, 2 of 10 components degrade.

When this stack fits

  • Places are limited and a double booking is a real problem, so the last spot is locked in Redis.
  • Reminders go out by SMS and email on a schedule.
  • Members pay monthly or per class, and studios want it all in one place.

When to pick something else

  • You only book one-to-one appointments: an existing scheduling tool with calendar sync may be all you need.
  • Studios already run on a booking platform: integrate with it instead of replacing it.

What you need to build this

11 components across 9 areas of the stack.

Build it with your AI agent

Hand the stack to Claude Code, Codex, Cursor or any coding agent as a brief: how it connects, install steps and a build plan.

Frontend1

  • Next.js Web App

    Marketing and portal

    npm install next

    Docs

Backend & APIs2

  • Node.js API

    Booking API

    Docs
  • Inngest

    Background workflows

Data1

  • PostgreSQL

    Primary database

    Docs

Cache & queues1

  • Redis

    Upstash cache

    Docs

Auth1

  • Clerk

    User authentication

    npm install @clerk/nextjs

    Docs

Payments1

  • Stripe

    Payments and billing

    npm install stripe

    Docs

Email & messaging2

  • Twilio

    SMS reminders

    npm install twilio

    Docs
  • SendGrid

    Email notifications

    npm install @sendgrid/mail

    Docs

Storage & CDN1

  • Supabase Storage

    Media and documents

    npm install @supabase/supabase-js

    Docs

Observability1

  • Sentry

    Error tracking

    npm install @sentry/nextjs

    Docs

Install

npm install next @clerk/nextjs stripe twilio @sendgrid/mail @supabase/supabase-js @sentry/nextjs

SDKs only. Pick your own database driver or ORM.