GörenLabs
Terug naar journal

Journalnotitie

EngineeringToolsProces

De Stack Waarmee Ik Bouw

Een kijk op de tools en technologieën achter elk GörenLabs-project. Waarom ik ze heb gekozen en hoe ze samenwerken.

De stack waarmee ik bouw

Mensen vragen me welke technologieën ik gebruik. Het eerlijke antwoord is dat de stack minder belangrijk is dan de redenering erachter. Maar de tools vormen wel het werk, dus hier is waar ik naar grijp en waarom.

Nuxt en Vue

Elk project begint met Nuxt. Het geeft me server-side rendering, file-based routing en een componentmodel dat schaalt van een landingspagina tot een volledige applicatie. Vue eronder is schoon en voorspelbaar. Ik vecht nooit tegen het framework.

Nuxt regelt ook de onderdelen waarvoor vroeger aparte tooling nodig was: SEO-meta, beeldoptimalisatie, contentbeheer, internationalisatie. Het module-ecosysteem is sterk genoeg dat ik zelden infrastructuur vanaf nul hoef te bouwen.

TypeScript

Alles is getypeerd. Niet omdat ik van configuratie geniet, maar omdat TypeScript de fouten opvangt die ik anders om drie uur 's nachts zou vinden. Het maakt code ook zelfdocumenterend. Wanneer ik maanden later een project herbezoek, vertellen de types me wat de oorspronkelijke bedoeling was.

Tailwind CSS

Ik gebruik Tailwind voor styling. Het houdt het designsysteem zichtbaar in de markup en elimineert de drift tussen designintentie en implementatie. Wanneer elke spacingwaarde, kleur en lettergrootte in een gedeelde configuratie leeft, wordt consistentie automatisch in plaats van ambitieus.

Aangepaste CSS verschijnt nog steeds wanneer ik precieze animatiecontrole of complex layoutgedrag nodig heb. Maar de basis is altijd Tailwind.

GSAP

Voor beweging is GSAP de standaard. ScrollTrigger regelt scroll-gebaseerde onthullingen. De timeline-API geeft me frame-level controle over opeenvolgende animaties. De prestaties blijven solide, zelfs met tientallen geanimeerde elementen op het scherm.

Ik gebruik beweging om structuur te verduidelijken, niet om te decoreren. Een goed getimede entrance vertelt de gebruiker waar te kijken. Een soepele transitie beschermt ruimtelijke oriëntatie. Animatie zonder doel is gewoon afleiding.

Convex

Wanneer een project een backend nodig heeft, grijp ik naar Convex. Het geeft me een reactieve database, serverfuncties, authenticatie en bestandsopslag in één platform. Het datamodel is TypeScript-native, dus de types stromen van de database helemaal naar de component zonder vertaallaag.

Wat Convex anders maakt is standaard realtime. Queries worden automatisch bijgewerkt wanneer de onderliggende data verandert. Dat verwijdert een hele categorie van state management-problemen en houdt de client eenvoudig.

Bun

Bun heeft Node voor mij vervangen. Snellere installaties, snellere scripts, snellere dev-server starts. Het verschil is merkbaar bij elk project, elke dag. Het draait dezelfde JavaScript en TypeScript zonder wijzigingen aan de codebase.

Deployment

Voor projecten die ik zelf beheer, deploy ik via Coolify op mijn eigen infrastructuur. Het geeft me Docker-gebaseerde deployments met een schone interface, automatische SSL en volledige controle over de omgeving. Push naar main, Coolify bouwt en deployt. Geen vendor lock-in, geen verrassingsrekeningen.

Voor klantprojecten hangt het deployment-target af van hun behoeften. Maar het principe blijft hetzelfde: eenvoudige pipelines, geen handmatige stappen, geen deployment-angst.

Waarom deze combinatie

Deze tools delen een gemeenschappelijke eigenschap: ze zitten niet in de weg. Elke tool lost een specifiek probleem goed op en creëert geen nieuwe problemen in het proces. Dat is het enige criterium dat telt bij het kiezen van een stack.

Het resultaat is een workflow waarin ik mijn tijd besteed aan het product, niet aan tooling. Wanneer een klant het eindresultaat ziet, zou hij het vakmanschap in de ervaring moeten voelen, niet de complexiteit erachter.

© 2026 GörenLabsKennemerplein 6, 2011 MJ Haarlem