3 ms·
Show HN: ClassKeep – Booking, credits, and smart waitlists for boutique studios
Hi HN — I built ClassKeep.
The trigger: every small studio owner I know (pilates, yoga, pottery,
even a dog trainer) runs the operational side of their business on
WhatsApp + a Google Sheet, or on one of the expensive incumbents
(Mindbody/Glofox) they actively dislike. The single biggest leak is
last-minute cancellations: someone bails at 6am and the seat just
goes empty, because there's no fast way to notify a waitlist.
ClassKeep tries to remove that end-to-end:
- Public booking page on a free *.classkeep.app slug (custom domain
optional), with a drag-and-drop page builder so it doesn't look
like a generic SaaS template.
- Credits, drop-ins, and recurring subscription plans, all via
Stripe Connect — the studio gets paid directly, I never touch
the money.
- A waitlist that auto-notifies via email + web push + SMS the
instant a seat opens; first tap wins. This is the part most
studios told me they'd pay for on its own.
- 1-tap tablet check-in for instructors so they're not fumbling
with a clipboard between classes.
- Bilingual (EN + pt-BR) with LGPD/GDPR self-serve export & delete.
Stack, for the curious:
- Next.js 15 App Router, Server Actions for every mutation (no
REST except the two auth route handlers and the Stripe webhook).
- Drizzle ORM on Postgres.
- Two separate Better-Auth instances — one for studio operators,
one for students — so cookies and sessions don't collide on the
same domain.
- Stripe Connect (webhook-authoritative fulfillment), Twilio for
SMS, OneSignal for push.
- Tailwind v4 with a Material 3 token system.
Pricing: free for every studio during early access — no card, no
per-student fees. Early signups get a permanent discount when paid
tiers ship.
Genuine asks:
1. Try creating a studio and booking a class on it — does the
flow feel less painful than Mindbody/Glofox if you've used them?
2. Does the waitlist mechanic feel different enough to matter, or
is it table stakes by now?
3. If you run a studio (or know someone who does), I'd love to
talk — email in profile.
Happy to go deep on any of the architecture (Server Actions +
Stripe webhook reconciliation was the trickiest part).
- felixwongmf 5mo ago[flagged]