Roosloot.com ontwikkeling

In mijn werk als technology manager in de life-science sector werk ik met strikte eisen voor kwaliteit, traceability en validatie. Diezelfde manier van werken pas ik toe op dit project met een V-model aanpak: niet voor bureaucratie, maar voor duidelijkheid en verifieerbaarheid.

Aan de specificatiekant gebruik ik deze documentatieketen:

  • URS definieert wat de site moet doen vanuit gebruiker- en stakeholderperspectief.
  • FS vertaalt die requirements naar concreet functioneel gedrag.
  • DS beschrijft hoe dat technisch is ontworpen en geimplementeerd.
  • Risk Assessment maakt risico's zichtbaar en legt mitigerende maatregelen vast.

Deze linkerkant van het V-model dwingt expliciete keuzes af voordat implementatie start.

Aan de verificatiekant gebruik ik een gestructureerd Test Plan dat dit model spiegelt:

  • IQ controleert of de site compleet, correct gebouwd en deploybaar is.
  • OQ controleert functioneel gedrag, toegankelijkheid, browsergedrag en performance via geautomatiseerde Playwright-tests.

Om documentatie, implementatie en verificatie tijdens ontwikkeling in lijn te houden, gebruik ik AGENTS als werkafspraken binnen VS Code en OpenAI Codex.

Hierdoor blijft de site ook als klein systeem beheerst: requirements zijn expliciet, ontwerpkeuzes zijn herleidbaar, risico's zijn zichtbaar en verificatie is herhaalbaar.

Laatst bijgewerkt: 12 april 2026

Gravity Toy: geinspireerd door Osmos

Voor de nieuwe Gravity Toy visual heb ik inspiratie gehaald uit Osmos. Ik heb dat jaren geleden op iOS gespeeld en het bleef me bij als een originele game: traag, ruimtelijk en volledig gebouwd rond massa, beweging en zwaartekracht. Ook de audio vond ik sterk; rustig en precies passend bij het tempo van de game.

Met deze visual wilde ik geen kopie maken, maar wel spelen met datzelfde gevoel van aantrekking, orbitale beweging en kleine verstoringen die grote gevolgen kunnen hebben. Daarom heb ik een compacte 2D sandbox gebouwd waarin bollen elkaar aantrekken, samensmelten en nieuwe banen vormen. Het doel was vooral om iets te maken waarmee ik zelf kon experimenteren met zwaartekracht als spelmechaniek en visueel systeem.

Bekijk: Gravity Toy | Osmos | Visuals

Laatst bijgewerkt: 12 april 2026

Battery Simulation Tool live

Met de Battery Simulation Tool wilde ik HomeWizard P1-data bruikbaar maken voor een praktische vraag: wat zou een thuisbatterij in mijn situatie ongeveer doen? De tool leest CSV-exporten in, laat kolommen mappen, simuleert een batterijscenario en laat daarna besparing, laadgedrag en state-of-charge zien in grafieken.

De focus lag op iets wat lokaal in de browser draait en toch direct nuttig is: geen account, geen backend, maar wel genoeg detail om met capaciteit, laadvermogen, minimum SOC en indicatieve terugverdientijd te spelen. Daarmee werd het zowel een technisch experiment als een manier om concreter naar de 2027-thuisbatterijdiscussie te kijken.

Bekijk: Battery Simulation Tool | Docs | Changelog

Laatst bijgewerkt: 12 april 2026

Voxel Cutaway World live, plus visuele en UX-updates

Vandaag heb ik een nieuwe visual gepubliceerd: Voxel Cutaway World. Het begon als een idee rond Minecraft-achtige seed-generatie, maar dan als een klein zwevend diorama waarin je niet alleen het landschap ziet, maar ook de blootgelegde ondergrond. De pagina draait nu als echte WebGL-scene met seed-based generatie, camera-interactie, dag/nacht-sfeer, waterbeweging en instelbare wereldparameters zoals relief, water, grotten en lava. Het grootste deel van het werk zat in afwerking: camera-framing, materiaalvariatie, textuurdetail, subtiele animatie en het gelijk trekken van layout en navigatie met de rest van de site.

Naast de visual zelf heb ik ook een reeks siteverbeteringen doorgevoerd: nieuwe project- en visual-curatie op de homepage, echte previewafbeeldingen voor Voxel en Swapbound, een opgeschoonde docs-structuur per project, breadcrumb-fixes zodat project-, visual- en blogpagina's nu onder de juiste hub vallen, en reviewgedreven cleanup van legacy interne links en het publieke templatebestand.

Bekijk: Voxel Cutaway World | Visuals | Changelog

Laatst bijgewerkt: 8 maart 2026

Swapbound update: van prototype naar speelbare toolchain

De afgelopen iteraties heb ik Swapbound doorontwikkeld van een compact game-experiment naar een kleine, herhaalbare toolchain: een speelbare game met gedeelde besturing en een editor die leveldata als JSON exporteert en test. De focus lag op stabiliteit in physics (inclusief schuine oppervlakken), betrouwbaardere triggerlogica (remap/keyswap), en duidelijkere feedback in de UI.

Aan de technische kant is de runtime modulair opgesplitst in kleinere onderdelen (physics, switch-logica, interacties, meta/camera en game-loop), zodat onderhoud en debuggen eenvoudiger worden. Tegelijk zijn validatie en veiligheid rond externe JSON-levels aangescherpt met strengere normalisatie en limieten op inputstructuur.

Bekijk: Game | Editor | Changelog

Laatst bijgewerkt: 1 maart 2026

v0.5.0 release: ASCII Sky Glider / demoscene visual tuning

Vandaag heb ik v0.5.0 uitgebracht met focus op een nieuwe interactieve visual: een side-view parallax bergscene met ASCII voorgrondheuvels en een UFO die het terrein volgt. De visual is bewust opgebouwd als hommage aan de Amiga- en Commodore 64-demoscene, met simpele vormen, parallax diepte, ASCII-texturen en een futuristische demo-sfeer.

Een groot deel van deze iteratie zat in tuning en stabiliteit: berggroeven/ravijnen zijn visueel verfijnd en gestabiliseerd om jitter en flicker te beperken, ASCII-bergtexturen zijn optioneel maar staan standaard aan, en de controls zijn uitgebreid met onafhankelijke lengte- en breedte-instellingen voor de groeven. Ook de foreground ASCII-textuur beweegt nu beter mee met de terrain-scroll voor een consistenter parallax-gevoel.

Release details: Changelog

Laatst bijgewerkt: 25 februari 2026

v0.4.0 release: card UX, placeholders en layout-tuning

Vandaag heb ik v0.4.0 uitgebracht met focus op consistentie en gebruikservaring. Kaarten zonder projectafbeelding gebruiken nu een gedeelde placeholder-template met 2-letter initialen en subtiele seed-variaties, zodat de stijl per kaart herkenbaar blijft zonder extra runtime-zwaarte. Daarnaast zijn projectkaarten sitebreed volledig klikbaar gemaakt (muis + toetsenbord), terwijl bestaande knoppen/links normaal blijven werken. Ook is de sticky topbar compacter gemaakt en is de verticale ruimte tussen de intro en de uitgelichte projecten op de homepage verkleind.

Release details: Changelog

Laatst bijgewerkt: 10 februari 2026

v0.3 navigatie en informatiearchitectuur afgerond

Vandaag heb ik de v0.3 release gericht afgerond op navigatie, vindbaarheid en onderhoudbaarheid. Alle publieke pagina's delen nu dezelfde topnavigatie, detailpagina's hebben breadcrumbs, en project-/blogpagina's hebben statische vorige/volgende navigatie met nette randafhandeling voor eerste en laatste items. Daarnaast zijn een sitemap en een docs-hub toegevoegd zodat bezoekers en zoekmachines sneller de juiste content vinden.\n\nOok de URL-structuur is voorspelbaarder gemaakt met canonieke projectroutes onder `site/projects/.html`, terwijl bestaande links bruikbaar blijven via statische redirect-pagina's. Dit is bewust gedaan om breuk te voorkomen voor bestaande verwijzingen, maar tegelijk een schoner pad te bieden voor toekomstig onderhoud.\n\nWaarom deze verandering: een statische site blijft alleen schaalbaar als navigatie consistent is en pagina's niet stilletjes uit elkaar groeien. Met deze stap is de structuur duidelijker voor bezoekers, eenvoudiger te valideren in tests, en veiliger te beheren zonder extra runtime-complexiteit.

Volledige implementatieplan: v0.3 Static Nav + IA Plan

V-model documentatie en testbasis aangescherpt

Vandaag is de documentatieketen aangescherpt naar URS -> FS -> DS met Risk Assessment, Test Plan, IQ, OQ en AGENTS als gekoppelde set. Alle markdown-documenten worden nu 1-op-1 naar `site/docs/` gerenderd via `docs:render`, zodat webweergave en broninhoud gelijk blijven. Daarnaast draait IQ/OQ verificatie geautomatiseerd met Playwright (inclusief link-, toegankelijkheids- en performance-smokechecks) en is de versiebasis vastgezet op 0.1.0.

Retrospective: wat werkte en wat beter kan

Wat goed werkt: de statische opzet blijft snel en veilig, en de opdeling in duidelijke pagina's houdt de content overzichtelijk. Wat beter kan: consistentie tussen pagina's blijft aandacht vragen wanneer structuur snel verandert. Daarom hou ik de template centraal, update ik de changelog consequent, en werk ik iteratief met kleine wijzigingen.

Template en meertalige structuur aangescherpt

`index.html` en `template.html` zijn gelijkgetrokken als basis. De taalwissel draait via een gedeelde `i18n.js`, zodat labels en content consistent blijven tussen pagina's.

Startpost: waarom deze site statisch is gebouwd

Op 2 februari 2026 ben ik gestart met een duidelijke doelstelling: een persoonlijke site bouwen die veilig, snel en eenvoudig te onderhouden is. Daarom is gekozen voor een statische opzet zonder CMS en zonder externe software die runtime nodig heeft. De content is opgesplitst in logische pagina's (home, projecten, werk en detailpagina's), zodat structuur en beheer overzichtelijk blijven. Tegelijk wilde ik onderzoeken hoe een statische site toch visueel aantrekkelijk kan zijn. Daarom koos ik voor een donkere basis met subtiele animatie in de achtergrond, gradients voor diepte, en duidelijke typografie voor leesbaarheid. Belangrijke onderdelen worden als kaarten getoond om snel scanbaar te blijven. De code blijft bewust simpel, zodat aanpassingen later snel en veilig door te voeren zijn.