Vorige kerst kocht ik een quiz. Nu bouw ik er zelf een
Een quiz die de gasten zelf maken, uit hun eigen herinneringen. Ooit een hobbyproject voor later, nu ben ik er serieus mee bezig. Met kerst speelt mijn familie hem.

Vorig jaar vroegen ze me of ik met kerst de familiequiz wilde maken. Tuurlijk, zei ik. Tijd zat.
Ineens was het bijna kerst. Te laat om nog zelf iets te maken, dus kocht ik online een kant-en-klare kerstquiz. Hij was prima. Alleen had elke familie in Nederland hem kunnen spelen. Geen enkele vraag die alleen wij konden beantwoorden: over die ene vakantie, of over wie er altijd te laat is. Dat was ik, die kerst.
Daar begon het. Wat als de gasten de quiz zelf maken? Iedereen stuurt vooraf een paar herinneringen in, en op het feest worden dat de vragen. Dan kijkt bij elke vraag de hele tafel naar iemand.
Ik werkte het idee uit en kocht quizplayground.com. Een leuk hobbyproject voor later, dacht ik. Het bleef wel knagen.
Toen kwam Claude Opus 5.5 uit. Ik had niet verwacht dat ik dit ooit over een AI zou zeggen, maar het denkt bijna als een mens. Je legt het een plan voor en je krijgt vragen terug die je jezelf nog niet had gesteld. Voor het eerst dacht ik: dit kan ik echt bouwen.
Dus nu ben ik er serieus mee bezig, samen met Claude Code. Ik werk er 's avonds aan, Claude gaat 24/7 door. Op 1 februari gaat Quiz Playground live. En met kerst krijgt mijn familie eindelijk de quiz die ik ze vorig jaar schuldig bleef.
Tot eind januari lees je hier elke maandag hoe dat gaat. Vooral wat er misgaat, want daar valt het meest over te vertellen.

Week 1: eerst de woorden
Het design lag klaar, de backlog ook: 155 user stories. Ik wilde beginnen. Claude had eerst vragen. Welk woord gebruiken we in de code voor een herinnering? En wat is het verschil tussen een show en een game?
Klinkt als muggenziften, maar het doet ertoe. Een show is de inhoud, een game is één keer spelen, met een eigen code op de tv. Noemt de tv dat anders dan de database, dan zoek ik me in december suf naar een bug die eigenlijk een woordenboekprobleem is. Dus eerst een glossary van ruim dertig woorden, dan pas code.
Zo gaat het nu bij alles: Claude stelt eerst zijn vragen, elk met een advies erbij, en ik beslis. Voelt trager, maar een verkeerde aanname kost me nu een minuut in plaats van een avond.
Een robot die nee zegt
Onder de quiz ligt MakerKit, een starter kit met Next.js en Supabase waarin inloggen, een database en betalen al zitten. Bij elke pull request, een voorstel om code toe te voegen, test GitHub nu alles: 756 unit tests, de database en 49 tests in een echte browser. Eén ding rood, en de code komt er niet in.

Dat wilde ik zien. Ik maakte expres een fout in een aanpassing aan de database: "not nul" in plaats van "not null". Meteen rood, en de merge ging op slot. Precies goed. Als ik op een dinsdagavond moe iets kapotmaak, vindt deze robot het. Liever hij dan jouw gasten.
Voor de nerds: MakerKit op Next.js en Supabase in een Turborepo-monorepo. Vitest voor de spelregels (317 van de 756 unit tests), pgTAP voor de database en Playwright voor de browser: drie verplichte checks, zo'n negen minuten per run. Claude leest bij elke start een CLAUDE.md met de huisregels. De belangrijkste: de server beslist over punten en tijd, nooit de telefoon.
Volgende week
De spelregels. In de meeste quizzen wint wie het snelst tikt, en op een familiefeest is dat altijd het neefje. Hoe zorg je dat oma ook kan winnen?
Lees je mee? Volg @quizplayground of zet je op de lijst, dan hoor je het zodra je zelf een show kunt maken.