Class packs, bookings and waitlists, built by Claude Code on Elements
Class packs and memberships by card, a weekly schedule with spots left, waitlists that book the next member, and live rosters.
How it's built
PackPass needed class credits and a monthly membership paid by card, a schedule that counts spots as members book, waitlists that fill themselves, reminder emails and live rosters for the front desk. Each of those is a part of Elements, so the agent spent its 21 minutes on the studio itself.
- Live schedule and rosters. The schedule, each member's bookings, the class rosters and the member list are LiveTables. Spots left, the front desk's roster with its check-in boxes and each member's credits update the moment anyone books or cancels.
- Waitlists that book the next member. Booking locks the class first, so the last spot goes to exactly one member and a full class puts the next one on the waitlist. When someone cancels, the first member on the waitlist who can still pay gets the place and an email saying so.
- Packs and memberships by card. Members buy a class pack or a monthly unlimited membership through Stripe. Credits are granted when the member returns and again when Stripe's webhook arrives, once either way. Until a Stripe key is set, the pay buttons open a test checkout inside the app that records the purchase the same way, and in production the app registers its own webhook on the first checkout.
- Server calls as function calls. Booking, cancelling, check-in and buying a pack call server functions straight from the page with
@rpc. - Background work. A one-line cron schedule checks every five minutes for classes two hours out and queues a reminder email job for each booked member, and a member who comes off the waitlist gets an email the same way.
- Data and roles from SQL. Migrations define the studio and seed a staff login, three instructors, a week of classes, eight members and a full Reformer class with a waitlist. Sessions and one staff guard keep the studio pages with the staff.
Why Elements
Elements is an integrated full-stack app framework and a project server. The project server checks the agent's work as it builds: it type-checks the server and browser code, analyzes the program, applies migrations and runs the tests, then reports the results to the agent. A security mistake, such as calling a server-only function from the browser, is a compile error. The agent reads the report and fixes its own mistakes before it tells you a feature is done. The same checks run on every feature you ask for next.
Run it yourself
- 1 Sign up
Already have an account? Sign in
- 2 Install and run the demo One prompt to paste into your agent.
The prompt
What Claude was given to build this app.
Build a class booking app named packpass for a yoga and pilates studio. MEMBER - Sign up, buy a class pack (5 or 10 classes) or a monthly unlimited membership by card. - Weekly schedule of classes with instructor, time, spots left. - Book a class, which uses a credit. Cancel up to 12 hours before for the credit back. - Join the waitlist when a class is full. When someone cancels, the first person on the waitlist is booked and emailed. - A reminder email two hours before class. STAFF (admin account) - Classes and instructors, the weekly schedule, capacity. - Each class's roster, and check members in. - Members, their credits and membership status. Payments by Stripe. Seed the admin, three instructors, a week of classes, eight members with packs and memberships, bookings, and a full class with a waitlist. Show the seeded logins on the sign-in page. Spots left, waitlists and rosters update in real time.