Fitness · App Starter
Class schedules, member check-ins, and renewal tracking — a complete gym app generated as source code your business owns.
Tell Dual7 how your gym runs — class-based, open-floor, or both — and it generates this management app to match: six connected entities, a capacity-aware schedule, and a check-in screen the front desk can use on day one. Change a rule, add a waiver step, or rebrand the member view; the codebase is yours.
01 · Data model
Gyms live and die by attendance data, and attendance data is only as good as the schema underneath it. These six tables connect members to plans, plans to classes, and classes to the check-ins that tell you what's actually working.
| table | what it holds |
|---|---|
members | Every person who trains with you — contact details, join date, emergency contact, and their full membership and attendance history. |
memberships | The plan a member holds: unlimited, class packs, punch cards, or open-gym only, with start, renewal, and freeze dates. |
classes | Your class catalog — spin, strength, yoga, kids' sessions — with duration, capacity, skill level, and default trainer. |
class_sessions | Individual scheduled occurrences of a class, each with its own trainer, room, capacity count, and roster. |
check_ins | Timestamped arrivals, whether for a booked session or open-floor training — the raw material for every attendance stat. |
trainers | Coaching staff with specialties, certifications, and the sessions they lead, so payroll and scheduling read from one place. |
02 · Screens
A weekly grid the front desk and members both read from. Each session shows spots taken against capacity, closes bookings when full, and runs a waitlist that promotes automatically on cancellation — no double-booked spin bikes.
A fast screen built for the rush at ten to six: scan or search a member, see their plan status at a glance, and flag expired or frozen memberships before they hit the floor. Each check-in writes a row you can report on later.
Memberships approaching their end date surface in a queue sorted by expiry, with each member's recent attendance beside it — because a lapsing member who trained yesterday needs a different conversation than one you haven't seen since March.
Fill rates per class and time slot, visit frequency per member, and trainer-level attendance trends, computed straight from check-ins and rosters. When you're deciding whether the 6am class earns its slot, the answer is a query away.
03 · Process
Class-based studio, open-floor weights gym, or a mix — tell Dual7 your plan types, class formats, and how members get in the door. That description shapes the schema and screens.
The working app arrives in minutes. Add a trial-pass flow, a waiver checkbox at signup, or a family plan conversationally — every adjustment becomes readable code in your project.
Push it live with approval gates and an audit trail, on infrastructure you control. Member data sits in your database from the first check-in.
04 · Fit
Sign-in sheets and a wall calendar hold up until the first waitlist dispute or the first membership that lapses unnoticed. This starter is the step up that doesn't lock you in: the same schedule and member list you keep by hand, but connected, queryable, and honest about who actually shows up.
Fitness platforms tend to charge more as your member list grows — you pay a tax on your own success. Owning the app flips that: your five-hundredth member costs the same as your fiftieth, and the booking experience carries your brand, not a vendor's.
Programming cycles, benchmark tracking, and coach-led sessions don't map cleanly onto generic fitness software. Because the output is your codebase, a WOD-of-the-day board or a PR log is an added table and screen, not a feature request in someone's backlog.
Two locations often means two subscriptions and two member databases that disagree. Generate one app with location-aware sessions and check-ins, and the cross-location report — who trains where, which site fills — comes from a single schema you control.
05 · Yours
The base app is a floor, not a ceiling. Rename classes to WODs, trainers to coaches, memberships to passes — schema, screens, and reports rename with them. In Vibe mode you can add a belt-rank field for a martial arts program, a body-composition log, or a guest-pass flow in an afternoon of conversation.
Structural additions are ordinary code changes: wire a card-payment provider into renewals, add a door-access integration that reads from check_ins, or build a member-facing booking portal on top of the same tables. The generated project is a standard full-stack app with no runtime dependency on Dual7, so your developer — or your agency — can work in it directly.
Gym software subscriptions put your member list, attendance history, and payment relationships inside someone else's product — and the exit cost grows with every month of data. This starter keeps all of it in your database from day one. The schedule logic, the check-in rules, and the renewal queue are source files in your repository; switching hosts or changing a rule never requires a vendor's permission.
What you take on in exchange is running an app, and the governed pipeline exists to make that manageable: approval gates before changes ship, an audit trail of what changed and when, and regeneration when you want to restructure rather than hand-patch.
A working full-stack app with six connected entities — members, memberships, classes, class_sessions, check_ins, trainers — plus a capacity-aware class schedule, a front-desk check-in screen, renewal tracking, and attendance analytics. It's generated as source code you own and deploy yourself.
The starter ships with the schedule and roster model that member self-booking sits on, and adding a member-facing booking view is a natural first customization — it reads and writes the same class_sessions and check_ins tables the front desk uses, so there's no sync problem to solve.
Yes. Memberships model unlimited plans, session packs, and punch cards, with remaining-session counts decremented at check-in. Freeze and hold logic is part of the plan record, and because the rules are code you can read, edge cases like grace periods are yours to define.
Search or scan brings up the member with plan status front and center — active, expiring, frozen, or lapsed. One tap records the check-in against a session or open-floor training. The screen is deliberately simple because it gets used fifty times an hour at peak.
Trainers are a first-class entity with specialties and assigned sessions, so you can see each coach's weekly load and the attendance their classes draw. For full staff shift planning beyond class assignments, it pairs well with the employee shift scheduling starter.
Nothing — that's the design. The app is a normal codebase running on your infrastructure with data in your own database. Dual7 is how you generate and evolve it, not a service the running gym depends on.
Dual7 App Starters
Class schedules, member check-ins, and renewal tracking — a complete gym app generated as source code your business owns. Describe your version to start — the output is a project you own.