What squadXL does
A guide to every part of squadXL: how academies, instructors, parents, and students use it day to day.
Overview
Most gymnastics and sports academies run on a stack that was never designed as one: a spreadsheet for enrollment, a WhatsApp group per class, a paper attendance sheet on a clipboard by the door, a notebook for who still owes this month's tuition. squadXL puts all of that under one roof. Whoever's running the front desk gets one login, the instructor on the floor gets another, the parent following along at home gets a third, the student gets a fourth. Each sees exactly what they need, and nobody is re-typing the same enrollment into three different places by hand.
An academy running four branches out of one system needs those branches kept apart without needing four separate accounts, so locations live as branches inside one academy, switchable from the top of the screen, and one academy's data never crosses into another academy's on the same platform.
Everything below, the skill tracking, the attendance, the billing, the instructor schedules, feeds the same dashboard an owner sees when they log in. The point isn't to add a screen for every part of running an academy; it's to make sure the person who needs an answer, whether that's "is this class full," "did we get paid," or "what has my kid actually learned," can get it from the account they already have, without calling someone else to go check.
Skill & Trick Tracking
Ask a gymnastics coach what "attended" tells you about a student and the honest answer is: not much. A kid can show up to twelve classes in a row without ever landing a back handspring, and a kid who landed it in session three still gets the same checkmark as everyone else on a normal roster. squadXL tracks progress at the level coaches actually think in: not sessions, but skills.
Class → Stage → Skill/Trick → Student Progress
Every class carries a curriculum broken into stages, and each stage holds its own skills or tricks. Enroll a student and the whole curriculum lands on their progress card automatically. Nobody is building a skill list by hand for the fifteenth kid in a class.
Every skill sits at one of four progress levels:
- Not started: the student hasn't begun working on it
- Not there yet: attempts have started, not landed
- Getting there: can perform it with instructor support/spotting
- Mastered: independent, fully executes the move
Instructors move students through these from a Tracker screen built around color-coded dots, so a whole class can be updated in the few minutes right after a session, before the next one starts and the details of who did what blur together. Every change carries who made it, when, and what it moved from and to, so the day a parent asks exactly when their child landed a skill, the answer is sitting in the record instead of living in an instructor's memory. Add a skill to a curriculum mid-season and it's applied to every student already enrolled. Nobody falls outside an update.
Updates can carry a short note ("still needs a spot on the landing"), and the Tracker works in two modes: one class at a time, or every class at a location laid out together, so an instructor covering a full afternoon doesn't have to open and close a screen per group. On a student's own profile, overall progress shows as a simple fill level rather than a color alone, so it still reads correctly for a parent who's colorblind. That same record is what a downloadable progress report pulls from, so what a parent sees on paper matches exactly what the instructor logged in the room.
Classes & Scheduling
A Class is the top-level offering: an age range, a gender split, a level. Run the same class at four branches and each one keeps its own price, capacity, and instructor, so an academy can close a class at one location without touching the other three. Set the weekly pattern once (Monday at 4:30, say) and the real, dated sessions generate themselves going forward; cancel one and it's marked cancelled rather than erased, so the record of what didn't happen stays next to what did. A class creeping past 80% capacity shows up as an alert on the dashboard before it turns into a waitlist problem.
Because a class and its branch listing are separate records, an academy can take the same curriculum, the same age group, even the same name, and run it differently at each location: a different room, a different instructor, a different price, without cloning the whole class or losing the link between the branches when reporting on it later.
Attendance
A paper sheet on a clipboard answers one question (who showed up) and answers it in exactly one place, usually gone by the end of the month. squadXL asks the same present/absent question from a screen instructors and front-desk staff already have open, one tap per student, with a bulk mode for running through a whole class or a whole location in one pass. The weekly and monthly attendance rate rolls straight up to the dashboard, and every bulk action (who ran it, when, on which students) lands in the activity log on its own.
Attendance isn't just a record either. It's the number the billing side reads from, so a student's package usage and a coach's memory of who showed up never quietly drift apart the way they do on a spreadsheet nobody reconciles.
For a full roster or a busy check-in window, tapping through names isn't always the fastest path either. Every student carries their own QR code, so they can scan themselves in at the door, or an instructor can scan the student's code straight from the attendance screen instead of searching the list by name. Either way it lands as the same recorded attendance, with the same audit trail behind it.
Students & Enrollment
A student profile is the one place personal info, parent and emergency contacts, date of birth, and an auto-generated Academy ID live, and the one place enrollments across every class and location get managed, instead of a phone number copied into four different spreadsheets for four different classes. Sell a fixed-session package and it draws down automatically as classes are attended; run out, and the next session either bills as a one-off walk-in charge or renews the package, whichever the academy prefers.
A cancellation doesn't erase the record either: enrollment history stays attached to the student, so a re-enrolling family isn't starting from a blank profile, and the parent marked as primary contact for billing and messaging can be changed without touching anything else on file.
Callbacks
Four things quietly need a phone call and are the easiest things for a busy front desk to lose track of: a student who's gone unexplained-absent, a student flagged during the monthly roster check for zero attendance, a member who's gone inactive, and a brand-new lead who just inquired. squadXL keeps all four as one call queue instead of four separate mental notes. Each entry lands there on its own, from an absence, a roster review, or an inactivity check, or gets added by hand for a new lead. It gets assigned to whoever's making the calls and moves through Need to contact → Message sent → Coming back or Not returning as the conversation plays out, with a templated message that fills in the student and class name automatically. A call that ends in good news (the family's coming back, the lead is enrolling) turns into a real enrollment from the same screen, without re-entering anything already on file.
The roster-check entries are worth calling out specifically: once a month, squadXL surfaces every student who logged zero attendance that month, but it never removes anyone on its own. It puts them in front of a person to call first, and only an admin confirming the disenroll actually takes the student off the roster.
Instructors & Instructor Portal
Instructors carry context that used to live only in someone's head: which classes they're leading versus backing up, which branches they actually work at. The portal puts that to work directly: instructors see one unified weekly feed of classes, workshops, private lessons, and events instead of checking four different places; take attendance and update skill progress for whatever they're assigned to, from their own login; and set their own availability (recurring weekly hours plus one-off days off), which is exactly what private-lesson requests get checked against before anything lands on their calendar. Requests come to them, or a manager, to approve or decline, and their own contact info and password stay in their hands too.
On the admin side, each instructor is tagged as main or backup per class, and the branches they actually teach at are tracked separately from where they're allowed to log in, so scheduling someone at a new location is a deliberate assignment, not a side effect of them having an account at all.
Parent Portal
The question every parent eventually asks, sometimes in exactly these words and sometimes just in the tone of a phone call, is some version of "what is actually happening with my kid." The parent portal answers it without a call: enrollments, schedules, and calendars per child, skill progress updated in real time, and payment status with a way to flag a bank transfer or cash payment as paid before the office confirms it. A family with three kids in three classes runs all three from one login: self-registering for a workshop or event with payment attached, requesting a private lesson against whatever times an instructor has open, or messaging the academy directly when something needs a real answer.
That last part runs as a real two-way thread rather than a contact form dropped into a void: a parent opens it, the academy replies inside the same conversation, and an unread badge makes sure a message doesn't sit unseen until it's a complaint. At the end of each month, that same activity rolls up into a PDF a parent can download on their own: which classes their child attended, which skills moved forward and which are still in progress, a plain summary of the month instead of a parent piecing it together from memory or a WhatsApp thread.
Student Portal
Older students get a lighter version of the same idea, scoped to just themselves: their own schedule and calendar, their own skill progress, the ability to request a private lesson or register for a workshop without going through a parent account, and their own profile to keep current.
Private Lessons
One-off private lessons price by the hour, with longer bookings stepping into automatic discount tiers, or by a prepaid package that draws down lesson by lesson. A request goes to the instructor or a manager for approval before it's confirmed, and a late-cancellation fee policy covers the booking that falls through at the last minute. For a family that wants the same slot every week rather than booking one lesson at a time, a Subscription locks in a recurring pattern (chosen weekdays and times) as a single prepaid package, generating every individual session up front so attendance, payment, and reminders all work exactly like a normal booking would.
Semi-private and small-group lessons run through the same booking, so a parent splitting a slot with another family sees their own share of the price, not the group total, and a late cancellation gets checked against the academy's own cutoff window instead of being judged case by case.
Workshops & Events
A one-day clinic and a week-long camp aren't the same shape of event, so Workshops price per day with session-count packages built for multi-day formats, while Events can be scoped to one branch or opened to the whole academy. Early-bird versus regular pricing sets itself based on when someone registers, not on someone remembering to flip a switch. Either can carry its own custom questions (costume size, dietary needs, whatever the event actually requires) and both accept registrations from people who aren't enrolled at the academy at all, so a workshop can pull in new faces instead of just circulating the existing roster.
Instructor coverage works the same way it does for a regular class, a main and a backup assigned per workshop or event, so a last-minute swap is a reassignment on the record rather than a scramble of text messages the night before.
Finance & Billing
Attendance-driven billing means a monthly package charges based on what a student actually attended, not a flat number nobody rechecks. Underused packages step down automatically, and whatever credit or debt is left over carries into the next month instead of getting written off or forgotten. A payment moves through Unpaid → Submitted → Verified, the middle step being a parent's own claim that they've paid, still needing a staff confirmation before it counts. Sibling discounts, free trial lessons, and other rule-based cuts apply themselves instead of getting worked out by hand at the register, and expenses, deductions, and payroll sit next to per-location and all-locations dashboards so the same screen that shows revenue also shows what it cost to earn it. Once a month is locked, it stays locked: no quiet retroactive edit to a number someone already reported on.
Discounts follow the same rule-based approach: a sibling discount or a free trial lesson is defined once as a rule, and it applies itself to whoever qualifies from then on, with a per-family override still available for the one-off exception every academy ends up needing anyway.
None of it has to stay on-screen to be useful. Payroll generates a real payslip PDF for each instructor and staff member every month, and the finance dashboard exports its own monthly or per-location summary, so closing the books doesn't mean screenshotting a chart for the accountant.
Administration & Roles
Not everyone at an academy needs the same keys. Owner, Admin, and Manager carry full access; Staff is scoped to specific locations with individually grantable permissions: one person might take attendance but not touch payments, another the reverse; Instructor, Student, and Parent each get exactly the portal built for them. Anyone working multiple branches switches between them from an active-location control in the navigation rather than logging in and out, and every meaningful change (who did what, when) lands in the activity log whether it came from an owner or a location's newest hire.
That log isn't a hidden debugging tool either. It's the same place an owner goes to answer "who changed this student's package" or "who marked this payment verified," without having to ask around the office first.