
Starstruck – From Dance-School Website to Business Operating Platform
What began as a new website for Starstruck Performing Arts became a closer look at how the school runs online. The result is a bespoke platform that takes a family from first enquiry to the class register: local search, enrolment, term billing, parent and tutor portals, targeted communications, a shop and event tickets, all on infrastructure Starstruck owns. Bringing class management and payments in-house removed around £5,000 a year in platform charges.
Jump to a section

Built with
- Next.js
- React
- TypeScript
- Tailwind CSS
- Node.js
- MongoDB
- Mongoose
- Auth.js
- Stripe
- Nodemailer
- Sharp
- FullCalendar
- Zod
- Claude API
At a glance
Client
Starstruck Performing Arts, an established dance and performing-arts academy in Solihull
The starting point
a new website that properly represented the school
What I built
a new website and local search presence, plus a bespoke platform for enquiries, enrolment, billing, parents, tutors, communications, a shop and events
My role
consultancy, design, development, hosting and ongoing support
Key outcomes
~£5,000 a year
in third-party platform charges no longer paid, by bringing class management and payments in-house.
Top-five local visibility
on Google for multiple relevant dance-class searches around Solihull.
One integrated platform
for the website, enquiries, enrolment, classes, invoicing, payments, parent and tutor accounts, communications, the shop and events.
Three connected challenges
Starstruck is a successful school with a loyal community of families. Its digital presence had simply not kept pace with the business, in three ways that turned out to be connected.
Brand
the previous website didn't reflect the quality and professionalism of the school. Class information was limited, and the imagery didn't show the academy at its best.
Acquisition
Solihull is a competitive market for children's activities. Families searching for a particular dance style needed to be able to find Starstruck.
Operations
class management and payments ran on ClassForKids. At Starstruck's size, its recurring charges had grown to around £5,000 a year.
Looking beyond the website
The project started as a website. It would have been easy to deliver exactly that and leave the way the business ran untouched.
Instead, we looked at how Starstruck actually operates day to day: how families find the school, how a child joins a class, how fees are worked out and collected, how teachers take registers, and how the school talks to parents. That raised a question every growing business eventually faces:
At what point does renting generic software become less attractive than owning software designed around your business?
ClassForKids is a capable product, and for many schools it is the right choice. For Starstruck, the recurring cost had become large enough to justify building an alternative. The platform wasn't designed to copy ClassForKids feature for feature. It was designed around the way Starstruck already works:
Children who join or leave partway through a term are charged for the sessions they actually attend.
Childcare vouchers and tax-free childcare are recorded alongside card, cash and bank payments.
A new term is created by cloning the last one, rather than set up from scratch.
Parents can be emailed by class, by venue or by the primary school whose after-school club their child attends.
The owner can see how full every class is, and what the empty places are worth.
From first enquiry to the register
A parent makes an enquiry through the website. Katie at Starstruck talks to the family about the child, their age and experience, and which class would suit them best. Children can try a class first, and a trial can be turned into a place for the rest of the term without starting again.
Once everyone is happy, Katie enrols the child and the platform takes over the administration. The fee is calculated, the invoice is raised and emailed with a link to pay online, and the child appears on the right class register.
That conversation with Katie is deliberate. The software supports Starstruck's personal approach to families instead of automating it away. Families who already have an account can request a place from their portal, or join a waiting list when a class is full, and Katie still decides.
Three people, one platform
The same platform gives each person the tools that matter to their role, all working from the same records.
Management
the business picture, families, classes, terms, invoices and payments, communications, products, orders, events and reporting.
Parents
their children's classes and times, invoices, payments and balance, order history and account details.
Tutors
their own classes, digital registers, the information they need about each child, and notes.
Tutors work from the same platform, so a register taken in the studio is in front of management straight away.
What the platform does
Billing that understands terms
For the business: children don't all join on the first week of term, and some leave early. The platform works out the right fee automatically, so nobody has to count remaining sessions by hand.
Under the hood:
Each class is either charged as a full term or pro-rata.
Pro-rata classes are charged for the sessions between the date a child starts and the date they leave. The session count follows the class's weekday and skips half-term and other breaks.
The invoice line explains the calculation, so parents can see exactly what they are paying for.
The booking form and the server use the same pricing code, so the figure shown when enrolling is the figure that gets invoiced.
Term management
For the business: every new term used to mean rebuilding the timetable and enrolments. Now it is mostly a copy and a few edits.
Under the hood: cloning a term copies its class timetable and carries ongoing enrolments forward to the new classes, leaving out trials and anyone who has finished. Katie makes the changes that term needs: new starters, leavers, class moves and holiday dates. Then one action raises a single invoice per family for all their children's classes, and emails it with a link to pay. Running it again only picks up enrolments added since, so nobody is invoiced twice.
Payments, however families pay
For the business: families pay in different ways, and the platform records them all, so the balance is always right.
Under the hood:
Parents can pay invoices online by card through Stripe. The payment is confirmed by Stripe's signed webhook and recorded automatically.
Staff record childcare voucher, tax-free childcare, cash and bank transfer payments against an invoice, dated when the money arrived.
Every invoice, payment and adjustment is recorded in a running account for each family, so part-payments are handled and the outstanding balance is always current.
Invoices can be amended and reissued, resent or voided, and every invoice can be downloaded as a branded PDF.
Payment reminders go out on a schedule, as one email per family listing everything owed, no more than once a week.
A parent portal
For the business: parents can answer their own questions, such as "when is the class?", "what do I owe?" or "did my payment arrive?", without emailing the school.
Under the hood: each family has an account showing their children's classes and times, every invoice with its PDF and payment status, the outstanding balance, shop order history and their contact details. Parents can pay an invoice from the portal, request a place in another class, or join its waiting list.
Tutor registers and class information
For the business: paper registers are gone. Attendance is recorded once and available to management straight away.
Under the hood: tutors sign in to their own area and see only their classes. They mark each child present, absent, late or excused. Each child's page shows the medical information and emergency contacts the tutor needs, plus notes the tutor can add to. Registers follow each child's start and leave dates, and mark children who are on a trial.
Management intelligence
For the business: Katie can see not only what the business is doing today, but where unused capacity is an opportunity to grow.
Under the hood: the dashboard has five views (overview, finance, classes, people and marketing) over any date range, including UK tax years:
Finance
invoiced against received, outstanding invoices by age, the largest balances and the split by payment method.
Classes
capacity, occupancy and free places for every class, how many families are on waiting lists, the value of the places already booked, and the unrealised fees sitting in empty places.
People
new families over time, and the busiest classes.
Marketing
enquiries won and lost, the conversion rate, where families came from, the most-requested disciplines and website visits.
The figures can be exported as CSV files for a spreadsheet.
Targeted communications
For the business: messages reach the families they are actually about, instead of every parent getting every email.
Under the hood: Katie can email every active family, the parents of a particular class, everyone at a particular venue, the families of a particular primary school's after-school club, or one individual. Campaigns are kept in a history, and every email the platform sends is recorded in an email log, including whether it was sent successfully.
Waiting lists that fill classes
For the business: when a class is full, interest isn't lost. When a place frees up, it can go straight to a family who is waiting.
Under the hood: a full class offers parents a waiting list instead of a request button. When a place becomes free, staff offer it to a waiting family, and the offer lapses if it isn't accepted in time. While an offer is open it holds the place, so the class can never be offered twice over.
Local search built into the site
For the business: families searching for a specific style of dance class in Solihull now find Starstruck.
Under the hood: every discipline has its own page, alongside a set of Solihull pages for searches such as street dance, musical theatre, acro and children's dance classes in Solihull. Those pages show the live timetable for that discipline (day, venue, ages, fee and teacher) straight from the platform, so they are never out of date. Structured data describes the school, its location and its classes to search engines.
Running the website
For the business: day-to-day changes stay with the school.
Under the hood: staff manage classes, terms, venues, the team, products, events, the blog and site settings from the admin. Access is controlled by role (parent, tutor, admin and super-admin), and staff actions are written to an activity log. The blog has an AI drafting assistant built on Anthropic's Claude, and one click asks Claude to sort spam out of the contact-form inbox.
Three revenue channels
Classes
term fees, invoicing and payments, all handled by the platform.
Shop
uniforms and merchandise sold directly through Starstruck's own site, with a cart and Stripe checkout.
Events
tickets for shows and performances sold on Starstruck's own website, with no separate ticketing platform.
More of Starstruck's revenue now flows through infrastructure the business controls.
Event tickets are priced on the server from the event's own price, and each sale is checked against the remaining capacity, so a show can't be oversold. The ticket confirmation email is sent once Stripe confirms payment.
What was delivered
Around £5,000 a year of third-party platform charges no longer paid.
A modern website that represents the school properly.
Top-five visibility for multiple relevant local dance-class searches.
Pro-rata billing calculated automatically, including for children who leave early.
Much less repetitive work each term, from cloning the term to one invoice per family.
Parent, pupil, class and payment information in one place.
Digital registers for tutors.
Targeted emails to parents by class, venue or school.
Management visibility into revenue, debt and unused class capacity.
Direct merchandise and event ticket sales.
Finding new families and running the school day to day are connected in one system.
The same approach can solve other business problems
None of this is specific to dance schools. Many businesses run on spreadsheets, repetitive admin, or a handful of generic subscriptions that each do part of the job.
The same thinking applies to:
training providers, tutors and education businesses
sports clubs, gyms, fitness and martial-arts schools
children's activity providers
membership and subscription organisations
appointment-led businesses and event operators
any organisation managing recurring groups of customers
businesses paying for several disconnected platforms
The building blocks are the same: customer portals, bookings, invoicing, memberships, attendance, staff portals, ecommerce, event ticketing, communications, dashboards, reporting and workflow automation.
If parts of your business work like this, I can build something around the way you operate.
Technical stack
For readers interested in the technology:
Next.js 15 (App Router) and React 19 in TypeScript, Tailwind CSS, MongoDB with Mongoose, Auth.js with role-based access, Stripe Checkout with signed webhooks, Nodemailer, pdf-lib for PDF invoices, Sharp for image processing, FullCalendar, Zod validation and Anthropic's Claude API, with scheduled jobs for payment reminders.
Is your business working around its software?
If your team is juggling spreadsheets, repetitive admin, disconnected systems or expensive third-party platforms, it may be worth asking whether software designed around your business would work better.
I start by understanding how your business works and where it's being held back, not by selling development hours.
