Pirouette · by Et'al Software
The dance studio platform that runs the lobby, not just the database.
Past-due 30 / 60 / 90 at a glance. Autopay that doesn't need a button press. Sub coverage that doesn't make Christina chase three people. The platform Christina would actually choose.
V1 demo · early June 2026 · production · August 2026
Your Stripe is your Stripe.
No 1% payment middleman. The money lands in your account.
Branded mobile included.
Your studio's name on the parent's home screen — no $1,800/year add-on.
$199/mo, flat.
Unlimited students, unlimited staff, SMS included, no per-line nickel-and-diming.
What it does, in one breath each
Six things Pirouette does that your current platform doesn't do well.
The first thing Mike sees when he opens the app. Total owed, split into the three aging buckets, click into any bucket to see who.
Stripe charges the stored card on the billing date. Christina doesn't push autopay. Diane doesn't push autopay. Nobody pushes autopay.
Search bar dominant. Shift handoff visible. Today's queue, pending actions, end-shift-to-Diane in one action.
Your balance. Your kid's schedule. Your kid's progress. No drilling, no emailing the front desk, no calling.
Teacher raises a sub request. It fans out to front desk, owners, and qualified teachers. First-to-claim locks. The original teacher sees it happen.
The whole year in one view. No joining across separate tables. Season at the top, sessions on the day.
Why we built it
We named the actual workflow. Autopay that pushes itself. End-of-day cash-out in one tap. Sub coverage that doesn't make Christina chase three people. Because every other platform calls it "manage your studio in one place" — and then ships software that reads billing backwards.
— Et'al Software, on building the third sibling product
The receivables tile every studio owner asks for first, payroll derived from attendance, comp-fee escrow that doesn't get raided for ops.
See the owner sideThe parent portal is built mom-first. Balance at the top. Each kid's next class. Messages routed to the channel you actually use.
See the parent side