Case: MEC Muziek | DenkBot
Alle cases

MEC Muziek

Acht vestigingen, één rooster dat zichzelf bewaakt

MEC Muziek geeft muziekles op acht locaties in en rond Zwolle. Met die schaal werd het roosteren een vak apart. Wij bouwden één platform waarin aanmelden, plannen, lesgeven en financieel inzicht samenkomen.

Sector

Muziekonderwijs

Tech stack

Next.jsTypeScriptFastifyPostgreSQLPrismaMollieResend
Weekrooster van een muziekschool op een laptop, volgepland met piano-, gitaar-, zang- en drumlessen

8

vestigingen

281

user stories

2.975

geautomatiseerde tests

3 mnd

van start tot productie

De uitdaging

Muziekles inplannen is een puzzel die harder groeit dan de organisatie zelf. Elke leerling heeft een vast wekelijks moment, bij een docent die dat instrument geeft, in een lokaal dat op dat tijdstip vrij is, op een vestiging waar die docent die dag ook echt staat. Bij één locatie houd je dat in je hoofd. MEC Muziek doet het op acht, met tientallen docenten en honderden leerlingen.

Die organisatie draaide op wat elke goedlopende muziekschool gebruikt: overzichten per vestiging, docenten die hun beschikbaarheid doorgaven, aanmeldingen die via de site binnenkwamen. Dat werkt — MEC is er groot mee geworden. Alleen zit de kennis dan wel op meerdere plekken tegelijk. Een docent die zich ziek meldt, een leerling die van lesmoment wisselt, een vakantieweek die schuift: elke wijziging vraagt om een ronde langs al die plekken, en om iemand die precies weet waar wat staat.

Dat is geen kwestie van slecht georganiseerd zijn — het is simpelweg wat handwerk doet als je groeit. MEC wilde die uren terug, en het overzicht op één plek.

Het echte probleem: wanneer is een lesmoment vrij?

De kern van dit project is één vraag die verrassend lastig te beantwoorden is. Een lesmoment is namelijk pas vrij als het aan alles tegelijk voldoet:

  • De docent geeft dit instrument
  • De docent staat die dag op die vestiging ingeroosterd
  • Er is op dat tijdstip nog een lokaal vrij
  • Het moment valt binnen het lesseizoen
  • Het is geen vakantiedag en geen vrije dag van de docent
  • Er staat geen andere les, proefles of groepsafspraak in de weg

Die logica hebben we in één engine gezet. Diezelfde engine voedt twee heel verschillende schermen: het formulier waarin een ouder zelf een proefles inplant, en het masterrooster waarin de administratie lessen versleept. Ze kunnen dus niet uit elkaar lopen. Wat een ouder aangeboden krijgt, is exact wat het rooster toestaat. En een les die niet past, wordt geweigerd met de reden erbij: welke les blokkeert, van welke docent, in welk lokaal.

Dat is het verschil met een agenda. Een agenda laat je alles inplannen en rekent erop dat de planner alle regels paraat heeft. Hier zitten die regels in het systeem.

Wat het platform doet

01

Aanmelden en proefles

Ouders melden zich online aan, kiezen instrument en vestiging, zien alleen lesmomenten die echt kunnen en rekenen de proefles direct af met iDEAL.

02

Masterrooster

Het volledige weekrooster per vestiging, met drag & drop. Verplaatsen mag alleen als het klopt; een conflict wordt geweigerd met de reden erbij.

03

Individueel, duo en groep

Alle lesvormen, inclusief het omzetten ertussen: een privéles wordt een duo, een duo splitst weer, een les groeit door naar een groep.

04

Docentenportaal

Elke docent ziet het eigen rooster en de eigen leerlingen, en geeft de eigen beschikbaarheid door per vestiging en lokaal.

05

Leerling- en ouderportaal

Ouders zien hun lessen, beheren meerdere kinderen onder één account, melden zich af voor een les en halen hun facturen op.

06

Automatische communicatie

Bevestigingen, afzeggingen en herinneringen gaan vanzelf de deur uit, met templates die MEC zelf aanpast zonder ons.

07

Kosten en opbrengsten

Per docent de gegeven uren, het tarief, de omzet en de marge. Direct in beeld, zonder losse spreadsheets ernaast.

08

Logboek en AVG

Elke wijziging wordt vastgelegd met wie, wat en wanneer. Gebruikers vragen hun eigen gegevens op met één klik.

Gebouwd om te blijven draaien

Een systeem met zoveel regels is pas iets waard als je er over een jaar nog steeds op kunt bouwen. Daaronder draait daarom een suite van bijna drieduizend geautomatiseerde tests. Die gaan bij elke aanpassing opnieuw langs het gedrag, niet alleen langs de code: doet elke afgesproken user story nog wat er is afgesproken, en blijven de processen kloppen — aanmelden, inplannen, verplaatsen, uitschrijven, factureren?

De uitleg hoort daarbij. In het platform zelf zit een sectie waarin elk kernproces beschreven staat: wat er gebeurt, wie wat mag, en waar het automatisch gaat. Die handleidingen zijn onderdeel van het systeem in plaats van een los document ernaast, dus ze bewegen mee met elke wijziging in plaats van langzaam te verouderen.

In ruim drie maanden groeide dat uit tot bijna driehonderd uitgewerkte user stories. MEC ziet elke week wat erbij is gekomen en kan bijsturen voordat iets vastligt. Maandag aan tafel, vrijdag een werkende demo — hier letterlijk.

De regels van de muziekschool zitten bovendien in een aparte laag die los te testen is: seizoensgrenzen, vakanties, beschikbaarheid, prijzen, wie welk rooster mag zien. Besluit MEC volgend jaar dat duo-lessen tweewekelijks worden, dan is dat een aanpassing op één plek — geen zoektocht door het hele systeem.

Het resultaat

Het rooster van een compleet schooljaar staat in het platform: acht vestigingen, honderden leerlingen, honderden lessen per week. Een aanmelding loopt van formulier tot ingeplande proefles zonder tussenkomst. Ouders zien zelf wanneer hun kind les heeft, docenten beheren hun eigen beschikbaarheid, en de administratie houdt de regie over wat er in het rooster verandert.

En de vraag die vroeger een middag puzzelen was — kan er woensdag om half vijf nog een gitaarles bij in Westenholte? — beantwoordt het systeem nu zelf.

Ook zoiets bouwen?

Vertel ons wat je wilt automatiseren.

In één gesprek brengen we concrete kansen in kaart voor jouw bedrijf.

Plan een gesprek