Gym App
Day-to-day operations for one academy — members, billing, check-ins, schedule, belt promotions, staff.
Rollpay — gym & martial-arts academy management platform. Handles students/members, check-ins, billing, class scheduling, events, and analytics in one place, with a super-admin panel for multi-tenant gym management.

Gym owners were stitching together separate tools for membership rosters, recurring billing, waivers, and class scheduling. Rollpay replaces that stack with one system — built to run a single gym, a franchise of affiliated gyms, or (from the super-admin panel) every gym on the platform at once.
Day-to-day operations for one academy — members, billing, check-ins, schedule, belt promotions, staff.
Oversight for gym networks and franchises — cross-gym student and academy management.
Platform control plane — provision gyms as tenant "apps," manage affiliations, configure waivers globally.
Membership & billing
Recurring plans, transactions, gateway-processed card payments
Check-ins
QR-code check-in/out for students and staff, public kiosk pages
Waivers & registration
E-signature capture, minor/family linking, public sign-up flows
Scheduling
Classes, seminars, events, public event registration
Belt progression
Rank and promotion tracking per student
Analytics & reporting
Dashboards, exportable reports (xlsx/exceljs)
Notifications
Live updates over Socket.io, plus email and SMS broadcasts with templates, merge tags and unsubscribe handling. Scheduled sends with quiet hours and daily caps are designed around SQS, EventBridge Scheduler and Lambda.
Templates
Rich-text email/content templates via TipTap
Ask AI
Staff ask questions in plain English. Rollpay writes the SQL, checks it, runs it, and streams the answer back. Each gym can switch it off and gets a monthly token allowance.
Billing operations
Issue queue, past-due ledger and school invoices on top of the payment gateway. A nightly sweep catches what webhooks never report: exhausted retries, expiring cards, overdue invoices.
Safe Academy
Coach credential uploads, background screening, a verification queue, certificates, and a public page where anyone can verify a coach.
✦ Highlight 01
A single table system (~5,000 lines) powers billing, students, and staff screens alike — inline editing, inline filtering, drag-to-reorder columns, bulk upload — configured per feature rather than rebuilt per feature.
✦ Highlight 02
Middleware enforces gym-app, affiliation, and super-admin access at the route level, keeping three distinct audiences on one deployed app.
✦ Highlight 03
⌘K search (kbar) across members, billing, and schedule — cuts navigation time in a data-dense admin tool.
✦ Highlight 04
Service worker + manifest let gym staff run Rollpay like a native app on front-desk tablets.
✦ Highlight 05
Each call carries a gym id that is checked against the gyms inside the user's token before any query runs. A role-to-route allowlist returns 403 for anything not listed, and gym staff, affiliation admins and super-admins each get their own validator.
✦ Highlight 06
Generated SQL passes a SELECT-only guard with a row cap and secret scrubbing before it touches the database. The schema is cached behind a prompt-cache breakpoint, so repeat questions cost less.
✦ Highlight 07
An outbox table, SQS with a dead-letter queue, EventBridge Scheduler ticks and Lambda senders, sized for a worst case of about 120k messages a day. Designed so a server restart mid-send cannot lose messages.
Rollpay — gym & martial arts operations platform