Shufflescape · 2025
Shufflescape
A dance school that runs itself
The problem
The school was being run out of spreadsheets, a payment link and a chat thread. Registrations had to be reconciled by hand, nobody could say who had paid, and every new course meant rebuilding the same table again.
A bilingual platform for a Bratislava dance school: course catalogue and registration, card payments, attendance and lesson tracking, a media gallery, and an admin area the owners run the business from.
What was built
- Nuxt 4 application with Slovak and English routes side by side
- Supabase Postgres with row-level security separating students, instructors and admins
- Card payments through Comgate, with the order state machine held server-side
- Admin area covering courses, registrations, cashflow, vouchers and the gallery
- Media uploaded straight to Cloudflare R2 with presigned URLs, so credentials never reach the browser
Where it landed
- Registration and payment are a single flow the student completes unattended
- Attendance, absences and make-up lessons are tracked per student rather than per note
- The owners see revenue for a course without exporting anything
More work
Atlas Portal
Fleet paperwork, minus the paperwork
A customer portal for a regional logistics operator: live shipment tracking, document exchange and invoice history behind a single sign-in.
Northwind Analytics
One dashboard instead of eleven exports
An internal analytics dashboard pulling four source systems into one daily picture, with alerting on the numbers that matter.
Have something to build?
Tell me what it needs to do. You will get an honest answer about scope, cost and timeline — including when the answer is that you do not need me.