Nederlandse vertaling in voorbereiding. Voor nu toont deze site de Engelse versie.

Publiek beslissingslogboek

Elke betekenisvolle engineering-, business- en productbeslissing die we nemen — met de redenering, de alternatieven die we afwezen, en wat we anders zouden doen.

Waarom Next.js 16 (en niet 15 of 14) voor ai-whisperers.org

Decision

Next.js 16.2.4 met Turbopack + App Router.

Reasoning

Vereisten: 4-locale SSG met sub-millisecond TTFB, content-driven (niet CMS-driven), en Swarm-deployable. Next 16's async `params: Promise<{...}>` is de juiste afweging: het dwingt correct async handling af en ontgrendelt streaming SSR later.

Alternatives considered
Considered: Astro 5SvelteKitRemixNext.js 14 (Pages Router)Vite + React Router
What went wrong

Eerste deploy had 4 pagina's met de oude sync `params: { lang: string }` vorm. Die 500'en in de prerender pass. Handmatige sweep over alle 22 apps in de monorepo was nodig.

What we learned

Een grep one-liner bespaarde uren: `grep -rE 'params\s*:\s*\{\s*[\w]+\s*:\s*string' apps/*/app/`. Had dat vóór de eerste build moeten draaien.

Wil je dieper graven?

Elke beslissing linkt naar het bronmateriaal: PR's, audits, GitHub commits, klantgesprekken. Openbaar bouwen betekent dat de bonnen ook openbaar zijn.

View the build changelog