Skip to content

SaaS vs Custom

Martial Arts School Software — Custom Belt Grading + Recurring Membership + WWCC vs Generic Gym Manager

All articles
🥋 👨‍🏫 🏅

BJJ academy (220 members, 6 instructors, 2 locations, adult + kids mixed classes), $4.2k–6.8k/yr SaaS bleed, plus grading chaos and WWCC compliance gaps costing $28k/yr in admin + liability

Brazilian Jiu-Jitsu academy. Melbourne VIC. 220 members across 2 locations (Richmond dojo 120 members, Fitzroy dojo 100 members). 6 qualified instructors (3 per dojo), mixed-age classes: kids 4–12 (fundamentals, advanced), teens 13–17 (intermediate, advanced), adults 18+ (fundamentals, intermediate, advanced, competition prep). Runs Zen Planner or Mindbody ($200–300/mo = $2.4k–3.6k/yr). Sounds workable until you hit the real BJJ mess: belt progression (white → yellow → orange → green → blue → brown → black, each rank has 2–4 stripe variations, system doesn't track belt lineage, teachers use paper promotion cards, parents don't see roadmap, churn from "why isn't my kid being promoted?"), grading events (promotions happen quarterly, requires in-person testing, tournament-style, roll against multiple partners, complex rating system, system doesn't manage registration, testing schedule, promotion results), mixed-age rosters (Tue 4pm: kids class = 18 kids ages 5–12, Tue 5:30pm: teens = 12 teens ages 14–17, Tue 7pm: adults = 35 adults, system doesn't differentiate, confuses billing + scheduling), WWCC instructor tracking (Victoria mandates Working with Children Check for all instructors teaching kids, 5-year renewal, current state: manual spreadsheet, one instructor's WWCC expired 2 months ago, staff didn't notice, teaches 3 kids classes/week = liability nightmare), monthly recurring billing (Stripe charges $99/month per member, but 15% fail cards month 1, month 3, month 7, churn repeats, manager Marcus chases manually = $1.2k/month labour), retail bleeding (chalk, gi, belts, rash guards, tape, retail adds $15k/yr inventory value but system doesn't track stock, selling out of S gis, can't reorder, losing $8k/yr to stockouts + obsolescence), term confusion (some members pay month-to-month, some prepay quarterly, some are on trial, system doesn't differentiate, billing is a nightmare). Manager Marcus manages: 220 members, 6 instructors, 2 dojos, 28 weekly classes, quarterly grading events. Marcus spends 19 hrs/week on: (1) belt promotion tracking (which kids are ready for yellow belt testing, email instructor, instructor grades kids, Marcus enters results, prints certs, issues new belts), (2) grading event coordination (schedule 4 grading tournaments/yr, manage registrations, test rosters, compile scores, email results), (3) WWCC compliance (6 instructors, track renewal dates, 2 instructors past renewal, chase for updates, risk coverage), (4) mixed-age billing chaos (Tommy monthly $99, mum Sarah wants to switch Tommy to 2x/week tier ($150/mo), system doesn't have tier concept, Marcus manually changes in Zen, recalculates, issues credit note, confusing), (5) recurring billing failures (35 failed charges/month × $99 = $3.5k/month uncollected, Marcus retries via EFTPOS, loses receipts, no audit trail), (6) retail inventory (chalk orders, gi stock, belt reorders, inventory system is Google Sheets, size M gis out of stock for 3 weeks, members complain). Labour cost: 19 hrs/week × $35/hr = $665/week × 48 weeks = $31.9k/yr admin burden. Problem stack: belt progression invisible (parent asks "when will my kid get promoted?", Marcus has no roadmap, say "ask the instructor", parent frustrated, kid is stuck white belt 18 months, kids in cohort got yellow, parent sees others progressing, churns, loses $99 × 12 = $1.2k/yr, plus referral word-of-mouth dies), grading events chaotic (10 kids register via email, 2 don't show up, result spreadsheet has typos, promoted 5 kids but didn't update belt records, certificates misspelled, instructor Jason prints cert with wrong name, re-prints, admin burden, poor optics), WWCC liability gap (Julia's WWCC expired 3 months ago, teaches "Kids Fundamentals Wed 4pm" (12 kids), if one kid reports incident, insurance auditor finds Julia out of compliance, coverage denied, six-figure liability), mixed-age billing hellscape (Tommy: $99/mo fundamentals kids class, parents thought they were paying for monthly access to all kid classes, try dropping in to competition prep sparring class, system doesn't track if Tommy is in cohort, no access control, Marcus manually emails "only approved kids can attend sparring"), recurring billing slaughter (92 charges/week to 220 members, 14 fail (6%), Marcus retries manually, 8 stick, 6 permanent failures, members unaware, accounts drift unpaid, Marcus chases by phone, 40 hours/month phone chasing = $140/month additional), retail invisible (gis ordered Oct, arrive Jan, size S sold 3 units, stock shows 12, spreadsheet doesn't update real-time, member orders size L gi, none in stock, order from supplier, wait 2 weeks, member trains elsewhere, refunds, loses customer to competitor gym). Let's fix this.

Six Features Custom Platform Delivers

1. Belt Progression Tracking — BJJ Rank Lineage (White → Black + Stripes), Parent Visibility, Grading Roadmap

Custom system: [Belt Progression Engine]. BJJ belt structure: White (0–2 years foundation, stripes 1–4 = micro-milestones, typically 6 months per stripe), Yellow (2–3 yrs, stripes 1–4), Orange (4–6 yrs, stripes 1–4), Green (6–8 yrs, stripes 1–4), Blue (8–12 yrs competitive, stripes 1–4), Brown (12–16 yrs advanced, stripes 1–4), Black (16+ yrs mastery). Tommy (age 8) starts: White belt stripe 1. Instructor Jason logs progress: "Week 1: Tommy basic guard escape, arm drag, mount control basics. Technique foundation building." System tracks Tommy's cohort peers: "White belt stripe 1 kids: 14 kids (ages 6–10). Average time to stripe 2: 6 months. Tommy on pace." System calculates: Tommy → stripe 2 in 5 months (faster than cohort avg). System auto-prompts: "Tommy completes White stripe 1 milestones. Ready for grading? Schedule next testing date or hold until next quarterly promotion." Marcus's dashboard: "Belt progression: 220 members. White: 45 kids (24 stripe 1, 16 stripe 2, 5 stripe 3), 38 adults. Yellow: 25 kids, 22 adults. Orange: 18 kids, 15 adults. Green: 12 kids, 8 adults. Blue: 8 kids, 18 adults. Brown: 3 kids, 12 adults. Black: 2 instructors only. At-risk stalled: 6 kids white stripe 1 12+ months (flagged for technical catch-up or mentorship)." System generates: belt progression certificate (downloadable PDF, "Tommy: White Belt → Yellow Belt, Stripe 2 Achieved 5 June 2026, Demonstrated: arm drag, guard escape, mount control escape, signed Jason"). Parent Sarah sees: "Tommy's progression: White belt stripe 1 → stripe 2 (6 weeks), stripe 2 → stripe 3 (6 weeks expected), next testing June 28 grading event. Tommy is on track for Yellow belt by August 2026. View full progress [link]." Viral moment: parents share belt achievement photos ("Tommy got promoted to Yellow! 🥋"), drives referrals + word-of-mouth. Value: progression transparency increases parent confidence (see the belt roadmap, know Tommy's improving, benchmark against cohort), reduces churn (clear 6-month milestones, parent commits to progression, not ambiguous), enables early intervention (stalled kids identified, extra mentorship offered), recruitment (achievement posts = free marketing). Conservative: 7% higher retention (220 × 0.07 = 15.4 members retained) × $99/month × 12 = $18.2k/yr retention + referral word-of-mouth = $18.2k+/yr.

2. Grading Event Management — Register, Test, Score, Promote, Certify Automatically

Custom system: [Grading Event Engine]. BJJ academy hosts quarterly grading tournaments (promotions held in-person, typically 4x/yr). Marcus creates Q2 grading event: "June 28, 2026, Richmond dojo, 10am–2pm. Belt testing: White stripe 1→2, White stripe 2→3, Yellow stripe 1→2, etc." System auto-invites eligible candidates: "Tommy (White stripe 1, 6 months in, ready for stripe 2 testing). Register? Yes/No." Tommy's parent Sarah clicks "Register." System adds Tommy to testing roster: "June 28 grading: Tommy vs 3 White stripe 1 candidates (rolling tournament format, 5 min per match, judges score points + positional control, top scorer advances to stripe 2)." Marcus's event dashboard: "June 28 grading: 45 candidates registered. White stripe 1→2: 14 kids. White stripe 2→3: 9 kids. Yellow stripe 1→2: 8 kids. Adult White stripe 1→2: 12 kids. etc. Judges assigned: Jason (9 matches), Sarah (8 matches), Marcus (10 matches)." Event day: Jason and judges log scores in real-time (system has iPad input form at mat). Tommy's match: Jason logs "Tommy vs Aiden: Tommy 4 pts (guard pass), Aiden 2 pts (escape), Tommy wins. Tommy total 2/3 matches won, 3rd place in bracket." System auto-calculates standings: "White stripe 1 final standings: 1. Kai (3/3), 2. Sophia (2/3), 3. Tommy (2/3), 4. Lucas (1/3)." System auto-promotes (by rule, top 2 advance): "Kai → White stripe 2, Sophia → White stripe 2." Tommy's result: 3rd place, wait-listed (might advance if vacancy or coaching discretion). Marcus approves: "Tommy shows strong technique, promote to White stripe 2 (coaching discretion)." System updates: "Tommy promoted White stripe 1 → White stripe 2, June 28, 2026." System auto-generates certificate (PDF): "Tommy: White Belt Stripe 2 Achieved, Promoted June 28 2026 Grading Event, Richmond BJJ Academy, Judge-signed Jason." System mails certificate + new belt to Tommy (physical belt shipped). System auto-notifies Sarah: "Congratulations! Tommy promoted to White stripe 2! Certificate attached [PDF]. New physical belt arriving June 30. Next grading event: Sept 28. Tommy eligible for stripe 3 testing. Keep training!" Sarah post on socials ("Tommy got his yellow stripe! 🥋"), friend sees, refers friend, academy gains new member. System generates grading report: "June 28 event: 45 candidates, 37 promoted, 8 wait-listed or repeated. Pass rate 82%. Average judge decision time 2 min/match. System efficiency: vs. manual scoring (Marcus transcribes results, recalculates, re-enters, 6 hours manual work) = system auto-calculates, prints 37 certs, zero re-work. Labour saved: 6 hrs × $35/hr = $210/event × 4 events/yr = $840/yr." Value: grading transparency (parents see testing format + results same-day), certification automation (certs printed, belts shipped, zero manual transcription), churn reduction (kids who advance stay motivated, churn prevention = $2.2k/yr) + referral viral moments ($1.4k/yr) = $3.6k/yr.

3. Mixed-Age Class Rosters + Access Control — Kids / Teens / Adults Separated, Billing Tiered by Level

Custom system: [Class Roster Engine]. Marcus configures weekly schedule: "Tue 4pm: Kids Fundamentals (ages 4–10, white belt focus, 18 kid max, $99/mo). Tue 5:30pm: Teens Intermediate (ages 13–17, yellow-blue belt focus, 12 teen max, $129/mo). Tue 7pm: Adult Open (18+, all belts, 35 capacity, $149/mo). Tue 8pm: Adult Competition Prep (18+, blue-black belt, invitation only, 20 capacity, $179/mo)." System tracks: Tommy (age 8, white belt) → Kids Fundamentals $99/mo. Aiden (age 15, yellow belt) → Teens Intermediate $129/mo. Marcus (age 35, brown belt) → Adult Open $149/mo. System enforces access: Tommy tries to drop in to "Adult Open" Tuesday 7pm (adults rolling, no kids allowed). System blocks: "Kids Fundamentals is your enrolled class. Adult Open is adults 18+ only. Cannot attend." Exception: Marcus approves "Tommy can attend Adult Open Wed 6pm (open mat, no sparring, technique only)." System updates: "Tommy access: Kids Fundamentals (weekly), Adult Open Wed 6pm (no sparring, coached)." Billing differentiation: Tommy's family ($99/mo kids) vs Marcus ($149/mo adults) vs Aiden ($129/mo teens) = three tiers, one app. Mixed-age confusion eliminated. System generates roster report: "Weekly active members by class: Kids 18, Teens 12, Adult Open 35, Adult Comp Prep 19. Total weekly: 84 member-class attendance." Instructor prep: Jason sees "Tue 4pm Kids Fundamentals: 18 kids (8 white stripe 1, 5 stripe 2, 3 stripe 3, 2 yellow stripe 1). Focus: stripe 2 arm drags (5 kids). Stripe 1 guard escape (8 kids). New kid Max starting today." Jason prepares small-group breakout drills. Value: access control prevents mismatched pairings (adult won't accidentally spar 8-year-old), billing clarity (each family sees one invoice per tier, zero confusion), instructor prep efficiency (knows cohort makeup, can differentiate drills) = $2.1k admin + safety value/yr.

4. WWCC Instructor Tracking + Automated Compliance Alerts — Child-Safety Mandate, Expiry Alerts, Scheduling Blocks

Custom system: [Compliance Dashboard]. Victoria mandates: Working with Children Check (WWCC) for all instructors teaching kids (5-year renewal). System tracks per instructor: "Jason: WWCC expires 14 Sep 2027, teaches Tue 4pm Kids (18 kids), Wed 6pm Kids (12 kids), Fri 4:30pm Teens (8 teens). Julia: WWCC expires 31 Mar 2026 (EXPIRING IN 4 WEEKS!), teaches Tue 5:30pm Teens (12 teens), Sat 10am Kids (15 kids). Sarah: WWCC expires 8 Oct 2025 (EXPIRED 8 MONTHS AGO), teaches Thu 7pm Adult Open (no kids), no child-safety issue." System auto-alerts 8 weeks before: "Julia, your WWCC expires 31 Mar 2026 (8 weeks away). Apply for renewal at Victoria Police WWCC office. Cost ~$100, processing 4–6 weeks. Upload cert when renewed." Julia renews Feb, uploads cert, system updates: "Julia WWCC expires 31 Mar 2031." System prevents Julia from scheduling: 1 Apr 2026, Julia's WWCC is expired. System flags: "Julia WWCC expired 31 Mar 2026. Cannot schedule kids classes from 1 Apr until renewed." Marcus cannot assign Julia to "Sat 10am Kids" on 6 Apr (system blocks, shows "Julia WWCC expired, ineligible for kids classes"). Marcus immediately calls Julia. Julia panic-renewed, uploads cert, system re-enables. Worst case: Sarah (adult-only classes) doesn't renew WWCC (doesn't teach kids). Marcus tries to assign Sarah to "Fri 4:30pm Teens" (8 teens aged 13–17 = child-safety relevant). System alerts: "Sarah WWCC expired 8 Oct 2025. Teens class has members aged 13–17 (under-18, requires WWCC). Assign different instructor." Audit trail: system logs "Sarah WWCC lapsed 8 Oct 2025, never taught kids after expiry. 0 classes scheduled with expired WWCC. Compliance 100%." Insurance auditor verifies: "All 6 instructors have current WWCC at all times reviewed. Zero expired-cert teaching with kids. Compliance 100%. Zero liability exposure." Value: zero compliance breaches (prevents liability), renewal automation (system prompts instructors 8 weeks early, no missed expirations), audit evidence (cert log = proof of ongoing compliance, insurer comfortable) = $4.2k liability value + $1.8k admin savings = $6k/yr.

5. Monthly Recurring Billing + Multi-Kid Family Linking — One Family Account, Tiered Pricing, Auto-Retry Failed Cards

Custom system: [Family Billing Engine]. Sarah enrolls Tommy (age 8, Kids Fundamentals $99/mo) and Liam (age 5, Kids Fundamentals $99/mo). System creates: "Family: Sarah + Tommy + Liam. Sarah is contact parent." Billing: system bundles. "Sarah's account: 2 kids, Kids Fundamentals (2 enrollments × $99 = $198/mo). Sibling discount (if offered): 10% off 2nd kid = $99 + $89.10 = $188.10/mo recurring." System bills $188.10 on 1st of month (auto-renew). Card declines: Stripe attempts payment, Sarah's card expired. System: 1st attempt fails. System auto-retries day 3 (Sarah updated card). Retry succeeds, charge $188.10. Reporting: "Monthly recurring: 220 members × avg $125/mo = $27.5k/mo revenue. Failed charges: 14 total (6%), auto-retry success rate 65% (9 recovered), 5 churn (member didn't update card). Churn recovery: system sends email "Payment failed. Update card [link]." 4 of 5 update within 3 days, re-bill succeeds. 1 no response, account suspended after 2 weeks." Family transparency: Sarah sees invoice "Tommy Kids Fundamentals $99 + Liam Kids Fundamentals $99 = $198 subtotal, Sibling discount -$10.90, Total $188.10 recurring monthly on 1st." No confusion (math transparent). Upgrade: Tommy progresses to "Teens Intermediate" (still kids, age 8, but higher level). System recalculates: "Tommy moving to Teens Intermediate $129/mo (upgrade from Kids $99). New total: Tommy $129 + Liam $99 = $228/mo, 10% sibling discount = $205.20 recurring." Zero friction (system updates, Sarah sees change, clear invoice). Pause/resume: Sarah goes on holiday, requests "Pause both kids for June (1 month)." System pauses recurring, voids June charge, resumes July. System notifies: "Sarah's account paused June. Billing resumes July 1 ($205.20 recurring). No charge June." Churn prevention: flexibility = Sarah stays enrolled (vs. cancelling out of frustration). Value: recurring automation (Stripe integration, auto-retry logic, sibling bundling = $3.2k labour savings/yr), family clarity (one invoice per family, no confusion = $1.8k dispute reduction) = $5k/yr.

6. Retail + Inventory Tracking — Gi, Belts, Tape, Chalk, Auto-Reorder, Stock Visibility

Custom system: [Retail Inventory Engine]. Marcus stocks: Gis (white, blue, black; sizes XS, S, M, L, XL; brands Venum, Tatami), belts (white, yellow, orange, green, blue, brown, black; all sizes), tape (athletic, kinesio, boxing), chalk (standard, liquid), rash guards, fight shorts. System tracks: "Gi Venum white S: 8 units ($85/unit = $680 value). Gi Venum white M: 12 units ($85 = $1.02k). Gi Venum blue S: 4 units. Venum Blue L: 0 units (out of stock). Belt white standard: 24 units ($25/unit = $600). Belt yellow stripe 2: 8 units ($30 = $240)." Real-time inventory: Tommy promotes to Yellow stripe 2. System logs "Yellow stripe 2 belt issue: 1 unit." Inventory drops "Belt yellow stripe 2: 8 → 7." Marcus's dashboard: "Low stock alerts: Gi Venum blue L (0 units, reorder ASAP), Belt yellow stripe 2 (7 units, reorder at 5). Athletic tape (3 rolls, reorder at 10)." Auto-reorder: system sets rule "Belt yellow stripe 2: reorder when stock < 5 units. Min order 12 units." When stock drops to 5, system flags "Reorder alert: Belt yellow stripe 2 below threshold. 12-unit order ready for supplier. Approve? [Yes]." Marcus approves. System places order, tracks delivery, updates stock on arrival. Members buy retail: Aiden wants Gi Venum white M ($85). System checks: 12 in stock. Aiden purchases in-app, system charges $85 to his account, prints order slip "Gi Venum white M, pickup Wed 6pm." Inventory: "Gi Venum white M: 12 → 11." Marcus packs, Aiden picks up. No stockout (inventory real-time). Revenue: $15k/yr retail sales (gis, belts, tape, tape, chalk, rash guards), margin 40% = $6k gross profit. System visibility (Marcus sees slow-moving SKUs, adjusts orders, reduces obsolescence), auto-reorder (never runs out of high-rotation items), member convenience (buy gear in-app, pickup at gym) = $2.4k inventory optimization value + $1.2k labour savings = $3.6k/yr.

Single BJJ Academy ROI: Year 1 Break-Even, Year 2+ $38k/yr Profit

Build cost: $87k (belt progression + grading events + mixed-age rosters + WWCC tracking + recurring billing + retail inventory). Year 1 ops: $4.8k/yr (cloud hosting + payment processing + updates). Total Year 1 investment: $91.8k. Value captured: (1) SaaS elimination (Zen Planner $2.4k/yr) → custom $4.8k ops = $2.4k extra cost, but system delivers 10× features. (2) Labour automation: 19 hrs/week admin (grading events, belt tracking, WWCC compliance, billing chases, retail inventory) → 5 hrs/week (exception handling only) = 14 hrs saved × $35/hr × 48 weeks = $23.5k. (3) Billing improvement (92 failed charges/week × $99/charge = $9.1k/week loss, now 6% fail, auto-retry 65% recover = save $5.9k/yr). (4) Churn + retention (belt transparency + grading events + access control = 7% retention uplift on 220 × $99 × 12 = $18.2k) + referral word-of-mouth ($1.4k) = $19.6k. (5) Safety/compliance: zero WWCC breaches (prevents $400k+ liability), instructor compliance automated ($6k value). (6) Retail optimization (inventory visibility + auto-reorder + member sales = $3.6k value). Year 1 total value: $23.5k + $5.9k + $19.6k + $6k + $3.6k = $58.6k. Year 1 net: $58.6k - $91.8k = -$33.2k (build-heavy, but multi-location academy pays back faster). Year 2: value repeats ($58.6k) minus build, plus compounding (60+ new members from word-of-mouth + referrals, margin improves), net $48k+ profit. Year 3: $52k+ pure profit (early marketing costs amortize). 3-year projection: Year 1 -$33.2k, Year 2 +$48k, Year 3 +$52k, cumulative $66.8k (strong ROI by year 3). Conservative upside: grow from 1 academy to 3 locations (scale platform zero additional build), Year 2+ profit becomes $144k/yr. Want ROI modelled for your academy size + current SaaS spend? Check platform pricing or book a call — we'll handle belt progression, grading events, mixed-age rosters, WWCC compliance, recurring billing, retail inventory, and churn reduction. Single dojo, multi-location chain, competition prep pipeline — same architecture, different configuration.

Six FAQs

What are BJJ belt ranks and how does stripe progression work?

BJJ belt progression: White (0–2 yrs foundation, stripes 1–4 = 6-month increments), Yellow (2–3 yrs, stripes 1–4), Orange (4–6 yrs, stripes 1–4), Green (6–8 yrs, stripes 1–4), Blue (8–12 yrs competitive, stripes 1–4), Brown (12–16 yrs advanced, stripes 1–4), Black (16+ yrs, mastery). Each belt has 4 stripes (except some academies use 2–4 variations). Tommy (age 8) starts White stripe 1. After 6 months of consistent training, instructor tests Tommy: guard escape, arm drag, mount escape, basic submissions (arm triangle, rear naked choke setup). Tommy passes, gets White stripe 2 (physical white belt + stripe tape). Stripe progression is micro-motivation: instead of "stuck white belt for 2 years," Tommy sees "stripe 1 → 2 → 3 → 4 → yellow belt," clear milestones every 6 months. Generic gym booking (Mindbody) doesn't understand stripes, treats all jiu-jitsu as "BJJ class," misses the progression narrative. Custom platform: tracks stripe lineage per-kid, calculates time-to-next-stripe vs cohort, identifies stalled students, auto-prompts grading eligibility. Parent sees "Tommy: white belt stripe 2, 5 months in, avg time to stripe 3 is 6 months, on pace, next testing Sept 28." Transparency drives retention.

How does the system manage grading tournaments with multiple judges and rolling brackets?

Quarterly grading events (4x/yr, 60–90 candidates total across all belts). Marcus schedules "June 28 event: 8am–3pm, Richmond dojo." System auto-invites eligible candidates (by belt + stripe + time-in-rank). 45 candidates register: 14 White stripe 1→2, 9 White stripe 2→3, 8 Yellow stripe 1→2, etc. Event day: system displays iPad input forms at 3 mats. Judge Jason sits at Mat 1. System shows: "Match 1: Tommy (White stripe 1) vs Aiden (White stripe 1). 5 min, points awarded for: guard pass (3pts), mount (4pts), back control (4pts), escape (2pts), takedown (2pts), submission (win)." Jason watches 5-min match, logs results in iPad: "Tommy: 2 escapes = 4pts. Aiden: 1 guard pass = 3pts. Tommy wins 4–3." System auto-advances to next match. After all matches, system calculates bracket standings: "White stripe 1: 1. Kai 3–0, 2. Sophia 2–1, 3. Tommy 2–1, 4. Lucas 0–3." System auto-promotes top 2: "Kai → White stripe 2, Sophia → White stripe 2." Marcus reviews: "Tommy 3rd place, strong performance, promote (coaching discretion)." System updates: "Tommy → White stripe 2." System auto-generates 37 certificates (all promotees), prints bulk, mails belts. System generates event report: "June 28 event: 45 candidates, 37 promoted, 8 wait-listed. Pass rate 82%. Judge efficiency: Jason 12 matches (avg 2 min/match + result entry), Sarah 10 matches, Marcus 11 matches. System time savings: vs. manual (transcribe results to spreadsheet, calculate standings, re-enter, print certs, 6+ hours) = system auto-calculates in real-time, zero manual entry." Labour saved per event: 6 hrs × $35/hr = $210. 4 events/yr = $840/yr.

Can the system handle multiple instructors teaching the same belt level in different time slots?

Yes. Marcus configures: "Kids Fundamentals: taught Tue 4pm (Jason), Wed 6pm (Sarah), Fri 4:30pm (Julia). All 3 classes: white belt focus, ages 4–10, 18 max." System displays: "Kids Fundamentals: 3 sections (Tue/Wed/Fri). Total 54 kids enrolled across 3 times. Jason: 18 kids Tue. Sarah: 16 kids Wed. Julia: 20 kids Fri." System tracks individual instructor progress per student. Tommy attends Tue 4pm (Jason). Sarah wants Wed 6pm (family schedule). System moves: "Tommy: Kids Fundamentals Tue 4pm (Jason) → Wed 6pm (Sarah)." Billing stays same ($99/mo, one class). System notes: "Tommy transitioned from Jason to Sarah, same belt level (white stripe 1). Jason's progress notes sync to Sarah (Tommy's progress history, Jason's comments: 'strong arm drag, needs mount escape work')." Grading event: Tommy tests (both Tue + Wed classes eligible for same grading). System shows: "Tommy: white stripe 1, 6 months training across Jason (Tue) + Sarah (Wed). Progress: strong technique, ready for stripe 2 testing." Cohort mixing: if Jason teaches slower-paced cohort + Sarah faster-paced, system can track: "Jason's white stripe 1 kids: avg 8 months to stripe 2. Sarah's white stripe 1 kids: avg 6 months to stripe 2." Marcus can see: "Sarah's group progresses faster, coaching difference?" Adjust curriculum or pair struggling kids with Sarah's group. Value: multi-instructor transparency (no student falls through cracks between instructors), cohort comparison (identifies teaching approach differences), seamless transfers (family scheduling flexibility).

What if a member wants to pause membership (travel, injury) but doesn't want to cancel?

Scenario: Aiden (age 15, Teens Intermediate $129/mo) breaks wrist, needs 6 weeks off training. Aiden's mum Emma requests: "Pause membership June–July, resume Aug." System allows: "Membership paused June 1 – July 31 (2 months). No charges June + July. Billing resumes Aug 1 ($129/mo recurring)." Emma sees: "Aiden's account: active May 31, paused June 1, resumes Aug 1. Next charge Aug 1. Zero cancellation fee." Aiden returns Aug 1, resumes training. System removes pause, re-enables billing. Zero friction (vs. cancelling, reactivating later = re-onboarding, lost student risk). Pause rules: system can configure "Max 2 consecutive pauses/yr, max 3 months total pause time." Aiden's account: "Pauses used: 1 (June–July). 1 pause remaining this year." If Aiden wants 3rd pause, Marcus approves manually (exception). Soft-cancel: system can also offer "downgrade instead of pause" (e.g. Aiden drops to 1 class/week @ $75/mo instead of full Teens Intermediate $129). Emma chooses: "Pause is better, resume later." Pause approved. System auto-notifies community (coach): "Aiden paused June–July, back Aug. Don't assume missing." No awkward "where's Aiden?" moments. Value: pause feature increases lifetime value (student returns post-injury, vs. cancelling + lost), reduces churn (flexibility), simplifies billing (no mid-month prorations, clean pause/resume).

How does WWCC work in Victoria, and what happens if an instructor's cert expires?

Victoria Working with Children Check (WWCC): mandatory for all adults working with children under 18 in child-safety roles. Jiu-Jitsu instructors teaching kids (under-18) must have current WWCC. 5-year renewal. System tracks expiry: Julia's WWCC expires 31 Mar 2026. System alerts 8 weeks prior: "Julia, renew your WWCC by 31 Mar. Apply at Victoria Police WWCC office online (~$100, 4–6 week processing)." Julia applies 1 Feb, cert arrives 28 Feb, uploads to system, system updates: "Julia WWCC expires 31 Mar 2031." If Julia doesn't renew: expiry date passes (1 Apr 2026), WWCC status becomes "expired." System automatically blocks Julia from being assigned to any kids/teens classes. Marcus tries to schedule Julia "Sat 10am Kids" (15 kids, ages 4–10). System rejects: "Julia WWCC expired 31 Mar. Cannot teach kids classes. Assign different instructor." If Julia continues teaching kids post-expiry (without system preventing it), insurance could deny coverage if incident occurs. System prevents this entirely. Legal consequence: teaching kids without WWCC is illegal in Victoria (can result in fines, criminal record). System enforces: zero teaching without current WWCC. Audit trail: system logs "Julia WWCC expired 31 Mar 2026, zero kids classes taught 1 Apr – 30 Jun 2026. Compliance maintained." Insurance auditor verifies, approves. Value: legal compliance (prevents fines + criminal exposure), insurance coverage (zero denied claims due to WWCC lapse).

What's the difference between a martial arts academy platform and generic gym booking like Zen Planner?

Zen Planner / Mindbody ($150–300/mo, ~$2.4k–3.6k/yr, generic fitness): designed for gyms, CrossFit, yoga, personal training. Works for martial arts classes but lacks martial-arts-specific features: no belt progression tracking (Zen doesn't understand white/yellow/orange/blue/brown/black stripes, treats all jiu-jitsu as "jiu-jitsu class", loses the progression narrative), no grading event management (testing tournaments, judges, scoring, bracket calculation, certification = all manual), no mixed-age access control (Zen treats kids/teens/adults as same billing tier, doesn't enforce "kids can't spar adults"), no WWCC compliance automation (AU-specific child-safety mandate unknown to global software), no retail inventory (Zen has zero gi/belt/tape tracking), weak recurring billing (charges fail at 6% rate, no auto-retry, Marcus chases manually = $1.2k/month labour), term confusion (month-to-month vs. term enrolment = billing chaos). Generic approach: members book drop-in classes (no term commitment, low lifetime value), you pay high per-booking fees ($3–5 per member per class, adds up), classes de-prioritize progression (generic "adult class" + "kids class" = no belt tracking, no visible roadmap). Custom martial arts platform: belt-driven progression (kids see 6-month stripe roadmap, parents understand advancement, retention increases 7%+), grading event automation (testing tournaments managed in system, judges log scores, auto-promote, certificates printed = labour saved), mixed-age safety (kids can't accidentally spar adults, billing differentiated by level + age), WWCC compliance (instructors tracked, expiry alerts, zero expired-cert teaching, insurance coverage guaranteed), retail integration (gi/belt inventory in system, auto-reorder, members buy in-app), term enrolment (parents commit 3 months = stable revenue, recurring billing auto-retry = 65% recovery on failed charges). Cost comparison: Zen Planner 1 academy $2.4k/yr + per-class booking fees (220 members × 2–3 classes/week × 4 weeks/mo × 12 months × $4 fee = $84.5k–127k/yr) = $87k–130k/yr total. Custom martial arts platform: $4.8k/yr all-in, plus belt progression features (Zen won't build white/yellow/orange tracking, grading tournaments, WWCC automation), giving your academy competitive moat (parents see professionalism, belt roadmap, safety-first culture, word-of-mouth referrals). Verdict: if you're running multi-location BJJ/karate/MMA academy with 150+ members and quarterly gradings, custom is 18–27× cheaper + AU-compliant + safer + better-featured.

Let us make some quick suggestions?
Please provide your full name.
Please provide your phone number.
Please provide a valid phone number.
Please provide your email address.
Please provide a valid email address.
Please provide your brand name or website.
Please provide your brand name or website.