Vitesse
Een clubsite heeft een verkeerspatroon dat weinig sites hebben: dagen van rust, en dan een uur waarin iedereen tegelijk hetzelfde bericht wil lezen. Dat is een bouwopdracht, geen ontwerpopdracht.

01Rustige dagen, en dan alles tegelijk.
Het verkeer van een club komt in pieken: een aankondiging, een wedstrijddag, een bericht dat rondgaat. Een site die op een gemiddelde dag prima werkt, is precies op die momenten traag.
Daarnaast wordt de site door de club zelf gevuld. Wat de redactie publiceert moet erop komen zonder tussenkomst, en zonder dat een fout in één bericht de rest van de pagina meeneemt.
02Wat er gebouwd is
Gebouwd voor de piek
De pagina’s worden serverside gerenderd en gecachet, zodat een piek geen tien keer hetzelfde werk is. Wie tijdens een aankondiging binnenkomt krijgt een pagina die al klaarstond.
Wat per bezoeker verschilt is bewust klein gehouden. Het meeste van een clubsite is voor iedereen hetzelfde, en dat hoort dan ook maar één keer opgebouwd te worden.
- Serverside gerenderd
- Gecachet per pagina
- Kleine dynamische randen
- Bestand tegen een piek
De redactie erbuiten houden
De inhoud komt uit het redactiesysteem van de club; de site leest die en rendert hem. Publiceren is daarmee een redactionele handeling en geen deploy.
Wat de redactie invult wordt behandeld als tekst en niet als opmaak, zodat één slordig geplakt bericht de bladspiegel niet verpest.
- Publiceren zonder deploy
- Inhoud gescheiden van opmaak
- Voorspelbare bladspiegel
- Geen developer nodig per bericht
Getypt tot aan de rand
De hele frontend is TypeScript. Een veld dat de redactie leeg laat is een geval dat het type benoemt, in plaats van een lege plek die pas op de dag van de wedstrijd opvalt.
Dat maakt het aanpassen van een pagina goedkoop: wat er misgaat, gaat mis tijdens het bouwen.
- Typen tot in de content
- Lege velden zijn een geval
- Fouten vóór publicatie
- Goedkoop aan te passen

03Technische keuzes
Serverside renderen
Een clubsite wordt gelezen, niet bediend. Dan hoort het werk op de server te gebeuren en niet in de telefoon van de bezoeker.
Inhoud is tekst, geen opmaak
Zodra opmaak uit de invoer komt, bepaalt de redactie per ongeluk de bladspiegel. De site geeft vorm; de redactie geeft woorden.
TypeScript tot aan de content
De meeste fouten op een contentsite zijn ontbrekende velden. Een type dat dat benoemt, verplaatst die fout naar het bouwen.
04Een site die het op de drukste dag doet en die de club zelf vult.
Publiceren gaat buiten mij om, en een piek is geen gebeurtenis meer. Wat er verandert aan de site verandert in code die zegt wat hij verwacht.
De volgende stappen zitten in de secties rond het nieuws: meer plek voor wat er speelt op een wedstrijddag.
