Back to quest log
● LiveQuest log entry

Rollpay

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.

Rollpay

The quest

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.

Three tiers, one codebase

Gym App

Day-to-day operations for one academy — members, billing, check-ins, schedule, belt promotions, staff.

Affiliation Layer

Oversight for gym networks and franchises — cross-gym student and academy management.

Super-Admin Panel

Platform control plane — provision gyms as tenant "apps," manage affiliations, configure waivers globally.

Core features

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.

Engineering highlights

✦ Highlight 01

Generic, config-driven data grid

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

Role-gated routing

Middleware enforces gym-app, affiliation, and super-admin access at the route level, keeping three distinct audiences on one deployed app.

✦ Highlight 03

Global command palette

⌘K search (kbar) across members, billing, and schedule — cuts navigation time in a data-dense admin tool.

✦ Highlight 04

Installable, offline-aware PWA

Service worker + manifest let gym staff run Rollpay like a native app on front-desk tablets.

✦ Highlight 05

Tenant isolation on every request

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

AI that can only read

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

Notification engine designed for volume

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.

Loadout

Framework
Next.js 15, React 18
Styling
Tailwind CSS v4, Radix UI
State
Zustand
Forms
Formik + Yup
Realtime
Socket.io-client
Auth
JWT, role-based middleware
Data export
xlsx, exceljs
API & data
Node.js 20, Express 5, Knex, PostgreSQL scoped by tenant
Cloud & AI
AWS (EC2, S3, Bedrock); notification engine designed on SQS, EventBridge Scheduler and Lambda

Rollpay — gym & martial arts operations platform