Projecten

Technische write-ups en side projects.

Verliezen is belangrijker dan winnen Scoren met Scorito Expres verliezen op Scorito, met realistische scores via een Poisson-model dat je omdraait.

Op Scorito kun je WK-poules invullen. Dit project draait het om: expres verliezen, maar wel met uitslagen die er realistisch uitzien — anders merk je meteen dat je fout zit.

Het idee is simpel. Eerst voorspel ik wie volgens statistiek zou winnen: een Poisson-model op basis van FIFA-ranking berekent de meest waarschijnlijke uitslag. Daarna draai ik die om. Zegt het model 2-1, dan voorspel ik 1-2. Het aantal doelpunten blijft geloofwaardig; alleen de winnaar klopt expres niet.

Technisch haal ik wedstrijden, teams en spelers op via de Scorito-API’s — geen scraping, gewoon de JSON-endpoints achterhalen via DevTools en configureren. Daarna draait een pipeline: rankings omzetten naar verwachte doelpunten, de beste niet-gelijke score kiezen, omdraaien, exporteren naar CSV voor invoer. Kampioen en topscorers volgen dezelfde filosofie: underdogs en anti-favorieten.

Veel van de boilerplate — CLI, client, tests, projectstructuur — is met AI in elkaar gezet. Handig, maar het werkt alleen als je zelf ook snapt wat er gebeurt. Poisson-verdelingen zijn geen magie, en een endpoint uit de Network-tab plak je niet blind zonder te weten welk ID bij welk toernooi hoort. Statistiek en API’s: daar kun je AI niet omheen sturen.

GitHub: ScoritoVerliezen — Verliezen is belangrijker dan winnen

Deze site als project Hugo, Azure Static Web Apps, en een berg mislukte GitHub Actions-runs — het portfolio als meta-project.

Dit portfolio is zelf ook een beetje een project — net meta genoeg om er een kopje aan te wijden.

Het idee kwam niet uit het niets. Een kennis had het traject al eens keurig uitgeschreven op zijn blog:

DataDragons: Host your own website with Hugo, Github and Azure

Daar staat de serieuze versie: hoe je met Azure en een statische site iets betaalbaar en snel online zet zonder meteen een complete zware webstack te hoeven neerzetten.

Ik dacht: prima plan, maar als ultieme luie actie heb ik ’m niet handmatig stap voor stap nagelopen. Nee hoor. Ik heb gevibe-coded: editor open, AI erbij, en af en toe mijn eigen vingers nog voor de comic relief (en de commits die toch echt ergens vandaan moeten komen).

Wat daaruit rolde: Hugo, een theme dat dolgraag als git-submodule wil leven, en GitHub Actions die af en toe harder janken dan een kind zonder ijsje — denk aan Docker, een containerregistry die ineens nee zegt, en een inbox die er ongeveer zo uitzag:

Screenshot: opeenvolgende mislukte workflow-runs (Hugo en Azure Static Web Apps CI/CD) op main

Uiteindelijk zuchtte Azure Static Web Apps en zei: „oké, hier is je site”.

Zelf proberen? Link to heading

Wil je zelf iets vergelijkbaars doen zonder door mijn inside jokes heen te ploegen? Er staat een generieke gids klaar: checklist-stijl, vrij te kopiëren, aanpassen en door te sturen.

Generieke gids in Markdown

Als je die deelt: houd de DataDragons-link hierboven erbij — daar zit het echte denkwerk achter; ik heb vooral het „maar wat als we het luier doen?”-experiment gedocumenteerd.