Case study: TheorieUpdate — van idee tot CBR-oefenplatform in 8 weken

TheorieUpdate is een online oefenplatform voor het CBR-theorie-examen (auto, motor en bromfiets). De klant wilde een eigen alternatief voor de generieke abonnementsdiensten in de markt: geen maandcontract, eerlijke prijs, realistische vraagtypen en een product dat ook op een 4G-telefoon van een leerling vlot werkt. Geen merger van bestaande software — een platform vanaf nul, in 8 weken live op theorieupdate.nl.
De uitdaging
Een theorie-examen-oefensite klinkt eenvoudig tot je naar de details kijkt. Het CBR-examen heeft sinds 2025 zes verschillende vraagtypen — multiple choice, slepen op volgorde, hotspot-klikken op een afbeelding, open invoer, ja/nee en gecombineerde vragen. Een platform dat alleen multiple-choice oefent (zoals veel concurrenten) bereidt leerlingen niet voor op het echte examen.
Daarbovenop: 663 officiële RVV-verkeersborden moeten doorzoekbaar, klikbaar en uitlegbaar zijn. Betalingen lopen alleen via iDEAL, dus we hebben een betaal-flow nodig die past bij hoe Nederlanders kopen. En het overgrote deel van de leerlingen oefent op een telefoon — desktop-eerst is geen optie.
Wat we hebben gebouwd

De stack: Next.js 15 (App Router) op de frontend, Prisma + PostgreSQL voor data, Stripe voor betalingen, Resend voor transactionele mail, en Hetzner Object Storage voor alle media. Alles draait in eigen beheer op een Kubernetes-cluster — geen Vercel-vendor-lock-in, geen verrassende factuur bij een piek in verkeer.
Een examen-engine die op het echte examen lijkt
De zes vraagtypen renderen elk hun eigen interactie. Slepen-op-volgorde gebruikt touch- en muis-events met dezelfde abstractielaag, zodat één component beide afhandelt. Hotspot-vragen tonen een afbeelding waarop de leerling moet klikken op een specifieke regio — pixel-coördinaten worden server-side gevalideerd zodat het antwoord-patroon niet in de DOM staat.
Elke vraag krijgt na het antwoord een korte uitleg te zien, met visuele markering van het goede antwoord en (als het mis was) waarom het andere antwoord beter past. Voor het pakket-eigenaars-portaal zijn er ook examen-simulaties: 50 vragen, gemixte typen, eindcijfer met norm — exact zoals het echte CBR-examen.
663 verkeersborden, in eigen beheer

Een leerling die op het examen een bord ziet en denkt *"die heb ik nog nooit gezien"* heeft een probleem. Daarom hebben we elk officieel RVV-bord opgenomen — gegroepeerd per 17 series (A-snelheid, B-voorrang, C-geslotenverklaring, enzovoort), doorzoekbaar op code of betekenis, en klikbaar voor een detailpagina met de exacte uitleg.
De afbeeldingen waren oorspronkelijk afkomstig van een externe CDN. Risico: als die CDN traag wordt of weggaat, breekt de helft van het product. We hebben alle 663 borden in 36 seconden gedownload en geüpload naar Hetzner Object Storage — eigen bucket, eigen URL, immutable cache. Geen afhankelijkheid meer van een externe partij.
Betalen zoals Nederlanders kopen

Betalingen lopen via Stripe Checkout met iDEAL. De checkout-sessie wordt server-side aangemaakt, met een rate-limiter erop tegen misbruik en hCaptcha bij verdachte signalen. Een Stripe-webhook activeert na succesvolle betaling automatisch het account, mailt de welkomstmail via Resend en logt de funnel-stap in de database — alles in milliseconden, zonder cron.
Mobiel-eerst, écht mobiel-eerst

Voorbeeld van het soort detail dat het verschil maakt: de demo-video's op de homepage waren oorspronkelijk gecodeerd in H.264 *High*-profile — iOS Safari weigert die inline af te spelen. Pas met een herversleuteling naar H.264 *Main* en een server-side `Range`-request-implementatie in de API-route werkten ze betrouwbaar op alle iPhones. Dit soort detail-werk is wat een platform van *"het werkt op mijn laptop"* naar *"het werkt op alle telefoons van alle leerlingen"* tilt.
Compliance, privacy en performance
- AVG-compliant cookie-flow — analytics-scripts (Microsoft Clarity, Google Analytics 4) laden pas na expliciete opt-in, en triggeren live via een custom event zonder reload.
- Server-side conversion tracking — Stripe-webhooks bevatten alle betaal-events; alle verzonden e-mails (Resend) worden gelogd voor funnel-analyse via een ondertekende webhook.
- SEO-fundament — 677 URLs in de sitemap, JSON-LD structured data, robots.txt en een eigen OG-image generator per pagina. Lokale SEO via dedicated landingspagina's.
- Performance — Lighthouse-scores 95+/100 op alle marketing-pagina's. Image-mirror op CDN-edge zorgt voor snelheid in heel Nederland.
Resultaten
TheorieUpdate is sinds maart 2026 live en heeft inmiddels een groeiende groep leerlingen die slagen voor hun examen. De klant beheert het platform zelf via een ingebouwd admin-portaal: vragen toevoegen, leerlingen bekijken, e-mail-templates aanpassen, betalingen monitoren — geen techneut nodig voor de dagelijkse operatie.
Wat Webforged anders maakt
Een platform als TheorieUpdate is niet "een website met wat functies erbij". Het is een product met data-modellen, betaal-flows, e-mail-pipelines, compliance-eisen, en een mobiele ervaring die ertoe doet. Webforged bouwt dat soort platforms voor Nederlandse ondernemers — zonder vendor-lock-in, met code die jaren mee kan en die je later eventueel zelf overneemt of door anderen laat onderhouden.
We werken in vaste sprints, leveren wekelijks demonstreerbare voortgang, en gebruiken dezelfde tools voor onze klanten als voor onszelf. Dat scheelt elkaar uitleg en het scheelt jou geld.
Een platform zoals dit, maar dan voor jouw idee?
Of het nu om een SaaS-tool, een marktplaats of een educatief platform gaat — we bouwen het in vergelijkbare tijd, met dezelfde aandacht voor performance en gebruikservaring.
Plan een gesprek