All work

Shufflescape · 2025

Shufflescape

A dance school that runs itself

Nuxt 4Vue 3TypeScriptSupabaseTailwindComgate

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

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.