A tour of The Practice Room

This install is seeded with a small demo studio: three classes on a weekly schedule, three membership tiers, five members, and some bookings. Everything on this page is live. Whatever you change here is real, and pnpm db:seed on a fresh database brings it back.

Owner / admin

admin@example.com

admin1234

Sees everything: schedule, members, money, emails, settings.

Member

ana@example.com

member1234

Has an Unlimited membership and a few bookings.

Try the booking flow right now

Breathwork Circle · Saturday 25 July, 10:00

8 of 8 places open. Book it as a guest with any name and email: you get a place on the roster and a confirmation email in the outbox. When a session fills, the same form joins the waitlist, and a cancellation moves the first person in automatically.

Book this sessionThen see the email it sent
  1. 01

    The public schedule

    What a visitor sees. Filter by category, open a session, and book as a guest with just a name and email. Full sessions offer the waitlist.

    Open the schedule
  2. 02

    Joining as a member

    Tiers with unlimited or credit-limited class access. Joining creates the account, starts the membership, and sends a welcome email to the outbox.

    See the tiers
  3. 03

    The member portal

    Log in as Ana to see her dashboard: upcoming bookings, credits, a QR member card for check-in, cancellation inside the allowed window, and her payment history.

    Log in as Ana
  4. 04

    The admin

    Log in as the owner. The overview shows live numbers. Open a session for the roster: check people in, mark no-shows, add someone, or cancel the session and everyone is emailed.

    Open the admin
  5. 05

    Members and segments

    Search and filters live in the URL, so they survive navigation and can be saved as named segments. Import and export CSV yourself.

    Browse members
  6. 06

    Emails, all of them

    Every automated email lands in the outbox. In this demo SMTP is off, so nothing is delivered and you can read what would have been sent. Templates are editable.

    Open the outbox
  7. 07

    Make it yours

    Appearance re-themes the whole product: presets or your own colors, corner radius, heading font. The embed widget follows, or takes its own colors per URL.

    Try the theming
  8. 08

    The embed widget

    The schedule as a bare page for an iframe on any website. This link forces its own colors through the URL, independent of the site theme.

    View the embed, themed dark

Under the hood

One Next.js app, SQLite on disk, 49 tests. The REST API and signed webhooks are on every install; keys are created under Settings. A daily cron call runs renewals, reminders and expiries. Stripe is optional and everything works offline without it.