Eigen product · build · 2025–
Pangram — dagelijks woordspel
Een toegankelijk dagelijks puzzelspel (WCAG AA, kleurenblind-veilig), schoon en getest gebouwd.
- Rol
- Solo — architectuur & build
- Context
- Eigen product, in ontwikkeling
- Jaar
- 2025–
- Type
- Eigen initiatief · lab
- Stack
- React, Vite, TypeScript, PWA
Het idee
Een schoon, toegankelijk dagelijks woordspel
Pangram is een dagelijks Nederlands woordpuzzelspel: drie puzzels per dag (5, 6 en 7 letters). Het doel was niet zomaar 'een spelletje', maar een oefening in vakmanschap — toegankelijk, snel, en zonder de tracking-rommel die dit soort spellen meestal meesleept.
Architectuurkeuze
Het zware werk vooraf, zodat de speler een lichte app krijgt
Beslissing
Overwogen
- Puzzels live genereren op een server (backend + database per request)
- Alle puzzels vooraf genereren en als statische data uitleveren
Gekozen
Build-time-zwaar, runtime-licht: een Node-pipeline genereert 365 dagen puzzels vooraf, mét validatie-gates. De runtime is enkel statische JSON plus een React-shell — geen backend, geen tracking, geen cookies.
Omdat
Zo is het spel snel, privacyvriendelijk en goedkoop te hosten, en kan een puzzel nooit 'stuk' bij een speler aankomen: alles is vóór publicatie gevalideerd.
Toegankelijkheid
WCAG AA en kleurenblind-veilig, vanaf het ontwerp
Toegankelijkheid was geen sluitpost maar een uitgangspunt. Het ontwerp voldoet aan WCAG AA en is kleurenblind-veilig: status wordt nooit alléén met kleur gecommuniceerd, maar altijd met een symbool (★) plus tekst erbij.
Vakmanschap
Een geteste kern met mechanisch bewaakte grenzen
Onder de motorkap zit een schone scheiding: een pure domein-laag met 100% testcoverage, en ESLint-grenzen die mechanisch afdwingen dat lagen niet door elkaar gaan lopen. Voortgang wordt lokaal bewaard (localStorage), met een 'Streak Code' als omweg rond de beperkingen van iOS Safari.
Reflectie
Wat dit bewijst
Pangram is mijn beste bewijs van engineering-vakmanschap én toegankelijkheidsbewustzijn: een klein, af ogend product waarin elke technische keuze — vooraf valideren, geen tracking, geteste kern, bewaakte grenzen — terug te voeren is op een bewuste reden.
Meer weten over dit project of mijn aanpak?
Neem contact op →