Skip to content

SaaS vs Custom

Dance School Software — Custom Term Enrolment + Recital + Costume vs Jackrabbit/iClassPro

All articles
💃 🎭 📚

Three-studio chain (800 students), $5k–8k/yr SaaS bleed, plus missing features worth $40k/yr in time + margins

Three-studio dance school (Townsville QLD, 250 students per studio, 800 total). Runs Jackrabbit or iClassPro ($69–129/mo per studio = ~$250–390/mo = $3k–4.68k/yr). Sounds reasonable for 800 students until you catalog what's missing: term enrolment (manual spreadsheets), recital ticket sales (Eventbrite at 3% margin), costume orders (email threads + cash handling), parent comms (SMS blasts at $0.15/msg), instructor scheduling (calendar conflicts), choreography library (Dropbox chaos). Studio owner Sarah spends 8 hrs/week on admin (term enrolments, recital coordination, parent chasing payments) = $200/week = $10.4k/yr labour cost. Add: venue hire $2k/mo = $24k/yr. Payroll (4 instructors @ $35k/yr) = $140k. Recital costs (venue $3k, props $1k, tickets lost to Eventbrite fees $800) = $4.8k/yr. Total operating: $3.5k SaaS + $10.4k owner labour + $24k venue + $140k payroll + $4.8k recital = $182.7k/yr. Problem stack: term enrolments are chaos (parents email, Sarah manually enters into Jackrabbit, duplicate registrations happen), recitals generate high friction (parents chase tickets via Facebook, Sarah manually processes, some parents pay cash, no reconciliation), costumes are a nightmare (vendors send quotes via email, Sarah collates in a spreadsheet, parents dispute sizing, refunds are manual), parent comms are noisy (50 parents need to know about summer term, Sarah sends mass SMS at $7.50, gets 40 "unsubscribe" replies), instructor schedules conflict (Sarah updates Jackrabbit when a class moves, 2 instructors don't see update, show up to wrong studio on Thursday), choreography dies with instructors (instructor Lisa creates a hip-hop routine, saves video in personal Dropbox, leaves studio, Sarah has zero choreography archive, hip-hop summer term is now impossible).

Six Features Custom Platform Delivers

1. Term Enrolment Automation — Online Forms, Payment Lock, Zero Duplicates

Custom system: [Term Enrolment Portal]. Parent Jane logs in, sees "Winter Term 2026 (3 Aug – 30 Oct). Classes: ballet Mon/Wed 4pm (age 7–10), hip-hop Tue/Thu 6pm (age 13+), contemporary Sat 10am (all ages)." Jane selects: ballet Mon/Wed + hip-hop Tue/Thu = 2 classes. System calculates: $180/term per class × 2 = $360 total. Jane pays via Stripe (card, Apple Pay, Google Pay). Payment locked, enrolment confirmed instantly. Sarah's dashboard shows: "Winter term: 240 enrolled (vs 200 Spring term, +20% growth). Ballet Mon/Wed: 85 students (capacity 90). Hip-hop Tue/Thu: 96 students (capacity 100). Contemporary Sat: 59 students (capacity unlimited, waiting list 3)." System auto-generates: class roster (name, age, payment status, emergency contact), payment reconciliation (collected $86.4k, 100% paid upfront, zero chasing), duplicate prevention (one parent = one enrolment, system merges duplicate entries). Jackrabbit charges $69/mo + per-seat, custom is $0 per-student. Year 1 value: term enrolment saved 5 hrs/week × $25/hr × 48 weeks = $6k labour + zero payment chasing = $6k total.

2. Recital Ticket Sales + Attendance Tracking — Dynamic Pricing, Real-Time Capacity, +$8k Margin

Custom system: [Recital Portal]. Sarah creates recital event: "Winter Showcase 2026, 15 Dec, Thuringowa Centre, 7pm, 500 capacity. Ticket tiers: adult $25, child $15, family 4-pack $70." System opens ticket sales online. Parents book via system (no Eventbrite, no 3% fee = save $2.5k on $80k ticket revenue). System shows real-time: "Capacity: 500 seats. Sold: 380 tickets (adult 180, child 140, family 60 packs = 240 people). Available: 120 seats." Parents see: "Only 120 seats left, last-minute sales surge." Pricing: system offers dynamic tier ("buy now $25, tomorrow $27, day-of $30") to optimize revenue. Sarah monitors: sold-out dancers, unsold dancers (system suggests $10 discount code for underperforming acts). System calculates: 380 tickets × avg $23/ticket = $8.74k revenue. Eventbrite would charge 3% = $262.20 fee, net $8.48k. Custom system charges $0 per-ticket, net $8.74k. Margin gained: +$260/recital × 2 recitals/yr = +$520. Plus: attendance tracking (system checks who bought tickets, compares to dancer roster, flags "Olivia is dancing but parents haven't bought tickets, send reminder"). Value: $520 margin + 2 hrs/week recital admin time saved = $520 + $2.4k labour = $2.92k/yr.

3. Costume Orders + Sizing Automation — Vendor Integration, Size Matching, Zero Disputes

Custom system: [Costume Manager]. Sarah initiates: "Winter term hip-hop costumes, all students, black tracksuit + gold trainers, delivery 30 Nov." System sends form to 96 enrolled students: "Name, age, shirt size (XS–XXL), pant size (XS–XXL), shoe size (UK). Cost: $85 all-in." Parents fill out (96 × 2 mins = 192 mins = 3.2 hrs, system automates). System collates: "Sizes needed: XS (12), S (28), M (34), L (18), XL (4). Shoe UK6 (8), UK7 (24), UK8 (48), UK9 (16)." System generates: vendor order summary (email to supplier with exact quantities + sizes), payment collection (parents prepay via system, $8,160 collected = zero vendor risk). System tracks: each student's costume (size, status, tracking), flags issues ("Emma ordered S but typically wears M, confirm fit?"). Delivery arrives, system matches: "48 UK8 shoes received, 48 students UK8 size confirmed, inventory matched." Sarah ships to students or holds for pickup. Value: vendor coordination saved 6 hrs, sizing disputes eliminated (system has all sizes recorded), zero cash handling = +$8.16k working capital. Labour: 6 hrs saved × $25 = $150/costume order × 2 recitals/yr = $300 + working capital improvement = $8.46k value/yr.

4. Parent Communication Hub — SMS + Email + In-App Alerts, Reduce Churn

Custom system: [Parent Portal + Alerts]. Sarah updates: "Contemporary class Mon 4pm moved to Wed 4pm, 28 Aug effective." System automatically notifies: 23 enrolled parents (email + SMS in-app notification, zero manual send). Parents see: "Class Change Alert: your contemporary class moved to Wed 4pm starting 28 Aug. Confirm you received this." System tracks: 22 confirmations received, 1 parent unconfirmed (likely didn't see). Sarah sends 1-on-1 reminder to unconfirmed parent. Zero missed communications, zero "I didn't know about the move" complaints. Plus: system sends proactive reminders ("Summer term closes 15 July, enrol now to secure spot. 47 of 90 ballet spots remaining."). System tracks: "Summer term early enrolment 47 of 90 (52%), nudge campaigns increased to 65 of 90 (72%) prior close. +18% enrolment from proactive comms." Value: reduced churn (1–2 families/term missed schedule changes × $360/family = $720–1.44k) + fewer SMS blasts (Sarah paid Twillio $7.50 per blast, system $0 per message, old cost $500/yr, new $0, save $500) = $1.22k–1.94k/yr value.

5. Instructor Scheduling + Choreography Library — Master Schedule, Conflict Detection, Institutional Memory

Custom system: [Instructor Dashboard]. Studio has 4 instructors. Master schedule: "Mon 4pm ballet Sarah, 4:30pm hip-hop Marcus, 6pm contemporary Lisa. Tue 4pm ballet Sarah, 6:30pm jazz Tom," etc. System prevents: double-booking (system alerts "Sarah assigned Mon 4pm ballet + Mon 5pm acro, conflict"). Instructors see personal schedule + studio-wide view (prevents "I didn't know I was scheduled Thu"). Choreography library: instructors upload routines (video + notes). Lisa creates winter hip-hop routine, uploads: "Winter Hip-Hop 2026, 8 weeks, age 13–18, music 'Levitating', choreography phases: week 1–2 basics, week 3–4 groove, week 5–6 turns, week 7–8 full combo." System stores permanently (even if Lisa leaves). Sarah searches library: "hip-hop age 13", finds 6 routines (2 Lisa, 2 Marcus, 1 legacy from prior instructor Tom, 1 downloaded sample). Sarah books Lisa's winter hip-hop routine for summer term (recycles content, saves choreography time). Value: 2 hrs/week scheduling conflicts avoided × $25 = $50/week × 48 weeks = $2.4k labour + choreography archive value (prevents re-creating routines) = $2.4k/yr.

6. WWCC + Child Safety Compliance — Automated Checks, Expiry Alerts, Insurance Audit-Ready

Custom system: [Compliance Dashboard]. Dance schools in QLD require WWCC (Working with Children Check) for all staff. Each instructor has WWCC expiry date. System tracks: "Sarah WWCC expires 12 Mar 2027, Marcus 8 Oct 2026 (expires soon, alert now). Lisa 30 Jun 2026 (expired, suspended from teaching)." System auto-alerts 90 days before: "Marcus WWCC expires 8 Oct, renew now via QLD WWCC portal." Marcus renews, provides certificate, system updates: "Marcus WWCC renewed, expires 8 Oct 2029." System prevents: Lisa (expired WWCC) from being scheduled (Sarah tries to add Lisa to Mon 4pm class, system blocks: "Lisa WWCC expired, cannot schedule. Renew WWCC and upload certificate to reactivate"). Insurance requirement: studio's public liability insurance requires all staff to have current WWCC. System generates audit report: "9 Oct 2026: 4 instructors, 4 have active WWCC (Sarah, Marcus, Tom, Kate), 0 expired, 0 missing. Compliance 100%." Insurance auditor verifies, studio insured with zero liability gap. Value: zero compliance breaches (prevents teaching with expired WWCC, legal liability eliminated) + audit time (system generates report, no manual work) = $1k liability value + $200 audit prep savings = $1.2k/yr.

Three-Studio ROI: Year 1 Break-Even, Year 2+ $40k/yr Profit

Build cost: $120k (term enrolment + recital sales + costume manager + parent portal + scheduling + compliance tracking + student database + payment processing integration). Year 1 ops: $6k/yr (cloud hosting + payment processing + updates). Total Year 1 investment: $126k. Value captured: (1) SaaS elimination (Jackrabbit $3.5k/yr × 3 studios = $10.5k) → custom $6k ops = save $4.5k. (2) Labour automation ($10.4k owner time, reduce to 2 hrs/week = $2.6k, save $7.8k). (3) Recital margin ($260/yr × 2 = $520). (4) Costume working capital ($8.16k cash upfront, interest value $500). (5) Churn reduction ($1.5k value). (6) Compliance + scheduling automation ($3.6k value). Year 1 total value: $4.5k + $7.8k + $520 + $500 + $1.5k + $3.6k = $17.92k. Year 1 net: $17.92k - $126k = -$108.08k (build cost heavy). Year 2: value repeats ($17.92k) minus build, plus compounding (studio grows 10%, margins increase), net $40k profit. Year 3: $40k pure profit. 3-year projection: Year 1 -$108k, Year 2 +$40k, Year 3 +$40k, cumulative -$28k (3-year break-even if you amortize labour value). Conservative upside: grow from 3 studios to 5 studios (scale platform zero additional build), Year 2+ profit becomes $60k/yr. Want ROI modelled for your studio count + current SaaS spend? Check platform pricing or book a call — we'll handle term enrolments, recitals, costumes, compliance, and choreography library. WWCC tracking included.

Six FAQs

What is WWCC and why do dance studios need it?

WWCC (Working with Children Check) is a QLD government screening for anyone working with children (instructors, admin staff, volunteers). Required if: (a) employee has direct contact with children, (b) student in under 18. Dance instructors = direct contact = WWCC mandatory. WWCC screening checks: criminal history, sex offense register, child protection order history. Takes ~2 weeks, valid for 5 years. Cost: $110 one-time for instructors. Studio liability: if an instructor teaches without valid WWCC, studio's insurance may not cover incidents (employee acted without clearance, studio breach). Platform tracks WWCC expiry per instructor, alerts before expiry, prevents scheduling un-cleared instructors. Studio auditor can verify: "All 4 instructors have active WWCC, zero liability exposure." Insurance happy, staff compliant.

How does the platform handle term enrolment refunds and cancellations?

Custom policy: refunds processed on sliding scale. (a) Cancel 14+ days before term start: full refund minus $20 admin fee. (b) Cancel 7–13 days: 50% refund. (c) Cancel <7 days: no refund (studio may have hired instructors, secured venue). System auto-processes: parent requests cancellation in app, system deducts fee per policy, issues refund via original payment method (Stripe) within 3 business days. Studio owner sees: "Winter term, 5 cancellations: $1,800 revenue lost, $100 admin fees collected, net $1,700 retained." System tracks: refund reason (can't attend, health, scheduling conflict), helps identify patterns (if 10% cancel due to "inconvenient time", Sarah knows to review schedule). Dispute handling: if parent claims "I requested refund but didn't receive", system shows transaction log (request date, processed date, refund amount, bank confirmation). Transparency eliminates disputes.

Can parents pay in instalments instead of upfront?

Yes. System supports both upfront + payment plans. Setup: Sarah configures "Winter term enrolment, option 1: full upfront $360, option 2: 3 instalments of $120 (due weeks 1, 5, 9 of term)." Parent Jane chooses instalments. System charges: week 1 $120 (auto-deduct from card), week 5 $120, week 9 $120. If payment fails (card declined week 5), system alerts: "Payment due, retry automatically, contact studio if issue." Sarah sees: "Jane: instalment 1 received, instalment 2 pending, instalment 3 not due yet." System dunning (automatic payment retry) eliminates chasing. Alternative: prepaid term but refund-eligible (parent pays $360 upfront, can cancel with refund policy). Benefits: instalments increase enrolment (parents prefer to split cost), upfront incentivizes (small discount "pay full upfront, 5% discount"). System calculates: "Instalment option = 15% enrolment increase vs upfront-only." ROI: more enrolments > lower churn > higher revenue.

How does the platform integrate with parent devices (email, SMS, in-app)?

Custom system: multi-channel notification. Setup: Sarah logs in, creates announcement: "Contemporary moved Mon to Wed starting 28 Aug." Delivery options: (a) email to all enrolled parents + guardians (system has parent email at enrolment), (b) SMS to opted-in parents (Twilio integration, $0.05–0.15 per SMS, optional parent consent during enrolment), (c) in-app notification (push notification if parent has studio app installed). System tracks: which parents opened email (opens tracked via pixel), which read SMS (read receipt opt-in), which acknowledged in-app (parent taps "confirm" button). Sarah sees: "Sent 23, opened 19 (83%), SMS delivered 15 (65%), in-app 22 (96%). Outstanding: 1 parent unconfirmed." Can't reach a parent via email/SMS = system suggests "call or tag this contact as unreachable." Benefits: multi-channel redundancy (important announcements reach 99% of parents), transparency (studio knows who got the message, can follow up), no cost (email + in-app free, SMS small cost vs $7.50 Twilio blast). Reduces "I didn't know" churn.

Can the platform handle multiple locations (3-studio chain)?

Yes. System manages unlimited locations. Setup: Sarah adds locations: "Studio 1: Townsville CBD, address + map, 4 classes/week. Studio 2: Thuringowa, 6 classes/week. Studio 3: Aitkenvale, 3 classes/week." Master enrolment: parent sees all classes across 3 studios, enrolls in mix (ballet Tue at Studio 1 + hip-hop Thu at Studio 2). System auto-allocates: "Your classes: Studio 1 Tue 4pm, Studio 2 Thu 6pm. Tuition: $360 (2 classes, both studios)." Billing: single invoice (not separate per studio). Studio dashboard: each studio sees its own roster (Studio 1: 85 ballet Tue students, 60 ballet Wed students). System reports: 3-studio combined revenue $86.4k winter term, per-studio breakdown available. Plus: instructor rosters per location (Sarah assigned Tue @ Studio 1, Marcus @ Studio 2), schedule conflicts detected across locations (if Sarah double-booked Tue 4pm Studio 1 + Tue 4:15pm Studio 2, system alerts: "Travel time 15 mins insufficient between studios, conflict"). Reporting: per-studio P&L (Studio 1 revenue $28k, Studio 2 $34k, Studio 3 $24.4k). Benefits: unified billing (parents pay one invoice for multi-studio enrolment), unified reporting (owner sees all 3 studios at glance), cross-studio rosters (instructors scheduled optimally across 3 locations). Scales to 10+ studios without code change.

What's the difference between dance school software and general class booking platforms like Mindbody?

Mindbody ($199–399/mo per location, plus per-class fees): general fitness booking (yoga, pilates, personal training). Works for dance but lacks dance-specific features: no choreography library (dance instructors need video + notation archive), no recital management (Mindbody is drop-in class focus, not event-driven), no costume tracking (no vendor integration), no WWCC compliance (AU dance-specific). Generic approach: you pay high per-class fee ($3–5 per student per booking), caps at 500+ students (cost explodes). Custom dance platform: all-in pricing (no per-student fee), dance-specific workflows (term enrolment = predictable revenue, not drop-in chaos), recital features baked in (ticket sales + costume + parent comms integrated), choreography archive (asset that grows over time, competitive moat for studio). Cost comparison: Mindbody 3 locations × $300/mo = $10.8k/yr + per-class fees (800 students × 2 classes/term × $4 fee = $6.4k/term × 2 terms = $12.8k/yr) = $23.6k/yr total. Custom platform: $6k/yr ops, all-in. Plus: custom builds features Mindbody won't (recitals, costumes, choreography), giving your studio competitive advantage. Verdict: if you're running term-based classes with recitals, custom is 4× cheaper + 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.