Deze site: losse blokken die ik apart kan aanpassen
Deze site bestaat uit losse blokken die ik stuk voor stuk kan vervangen of tegen elkaar kan testen. De homepage kan daardoor veranderen zonder dat de rest opnieuw gebouwd wordt.
BVDNET — Eigen werk — deze site
- Doorlooptijd
- Doorlopend sinds december 2025
- Teamgrootte
- 1
- 8 losse blokken met 9 varianten
- Laadtijd 36% verbeterd, blokkeertijd 81% omlaag
- 1709 automatische controles over 145 testbestanden
- Secties zonder echt bewijs blijven leeg
Samenvatting
Een studiosite is nooit af: er komt werk bij, de nadruk verschuift, een sectie blijkt niet te werken. Bij de meeste sites betekent elke wijziging dat iemand in de code moet, met risico voor pagina's die er niets mee te maken hebben. Deze homepage bestaat daarom uit losse blokken die ik afzonderlijk kan vervangen of tegen elkaar kan testen — acht blokken, negen varianten. Aanpassen kost daardoor dagen in plaats van weken.
Over de klant: BVDNET
Dit is mijn eigen site, en dat zeg ik erbij. Er zit geen klant achter die tevreden was — wat het laat zien is hoe ik werk als niemand meekijkt, en waarom ik bij klanten voor dezelfde opzet kies.
De uitdaging
Een website van een studio is nooit af. Er komt werk bij, de nadruk verschuift, een sectie blijkt in de praktijk niet te doen wat je hoopte. Bij de meeste sites betekent elk van die wijzigingen dat er iemand in de code moet, en dat het risico zich uitstrekt tot pagina's die er niets mee te maken hebben.
Dat is precies de reden dat sites verouderen: niet omdat de eigenaar niets wil veranderen, maar omdat elke verandering een klein project wordt. Ik wilde een homepage waar dat niet zo is.
Kernproblemen
- Elke wijziging aan één sectie raakt in principe de hele pagina
- Ontwerpkeuzes worden beredeneerd in plaats van bekeken
- Prestaties verslechteren geleidelijk zonder dat iemand het merkt
- Wat er verandert is niet terug te draaien zonder de rest te raken
Randvoorwaarden
- // Alles wat ik hier doe moet ik ook aan een klant kunnen uitleggen
- // Geen verzonnen bewijs: lege secties blijven leeg tot er iets echts staat
De aanpak
Elke band is een los blok met een eigen dossier. De hero, de diensten, het werk, de werkwijze, de calculator: elk daarvan is apart gedefinieerd, inclusief welke varianten er bestaan en welke er in productie draait. Acht blokken, negen varianten. Een blok vervangen raakt de rest niet.
Varianten bekijken in plaats van beredeneren. Er is een aparte werkomgeving waarin ik varianten naast elkaar zet. Een ontwerpkeuze die je in een tabel beredeneert, is een andere keuze dan een die je hebt gezien.
Prestaties zijn een meetpunt, geen gevoel. Er liggen budgetten vast voor laadtijd en visuele stabiliteit, en er wordt gemeten tegen een vastgelegde ondergrens. Gaat het achteruit, dan blijkt dat uit de meting en niet uit een onderbuikgevoel.
Geen gefabriceerd bewijs. Zolang er geen echte klantquotes zijn, rendert de sectie met klantreacties helemaal niet — in plaats van dat er iets in staat wat erop lijkt. Dezelfde regel geldt voor cijfers: wat ik niet kan tonen, schrijf ik niet op.
Technologie
- // Next.js
- // React
- // TypeScript
- // Sanity
- // next-intl
- // Vercel
- // Playwright
- // Vitest
Resultaten
Het eerlijke antwoord op ‘is het snel’: beter, en nog niet goed genoeg. De gemeten laadtijd van het grootste element ging van 7,7 naar 4,9 seconden — een verbetering van 36% — en de tijd dat de pagina niet reageerde daalde met 81%. Die 4,9 seconden zit nog steeds in de categorie ‘slecht’ volgens de norm waar ik zelf tegen meet, en dat staat ook zo in mijn eigen meetbestand.
Ik zet het er toch bij, want dit is precies het soort getal dat de meeste sites weglaten. Verder: 312 wijzigingen sinds december 2025, 145 testbestanden en 1709 automatische controles die groen moeten zijn voordat er iets live gaat.
In cijfers
- Laadtijd grootste element
- 36% sneller, nog niet goed genoeg
- Tijd dat de pagina niet reageert
- 81% minder
- Automatische controles
- Moeten groen zijn voor livegang
Kwalitatieve uitkomsten
- Een sectie vervangen raakt de rest van de pagina niet
- Ontwerpvarianten worden bekeken in plaats van beredeneerd
- Secties zonder echt bewijs renderen niet, in plaats van gevuld te worden met iets dat erop lijkt
- Achteruitgang in snelheid blijkt uit een meting, niet uit een gevoel
Belangrijkste lessen
- 01
Blokken die je los kunt vervangen zijn de reden dat een aanpassing dagen kost in plaats van weken — dat is een kostenargument, geen technisch argument
- 02
Een ontwerpkeuze die je hebt gezien is een andere keuze dan een die je hebt beredeneerd
- 03
Een eerlijk slecht cijfer publiceren is geloofwaardiger dan het weglaten
- 04
Liever een lege sectie dan gefabriceerd bewijs
Langetermijneffect
De opzet met losse blokken is inmiddels de standaard voor klantprojecten: het is de reden dat een site kan meegroeien met het bedrijf zonder dat er telkens opnieuw gebouwd moet worden.