Onze stack — niets te verbergen
Dit is de exacte infrastructuur waarop deze website draait. Elke keuze is onderbouwd, elke tool heeft zich bewezen. Dezelfde technische normen voor al onze klanten.
Front-end framework
Volwassen ecosysteem, concurrent rendering voor vloeiende overgangen.
Zekerheid bij het compileren, zorgeloos refactoren, zelfdocumenterende code.
Directe HMR tijdens ontwikkeling. Sinds v8 wordt de bundle gemaakt door rolldown en geminificeerd door oxc — esbuild is uit de afhankelijkhedenboom verdwenen.
Declaratieve API, routes die op aanvraag laden, compatibel met Suspense.
Styling & designsysteem
Geen runtime, automatisch opschonen, visuele consistentie gegarandeerd door tokens.
- shadcn/ui (nieuw tabblad)Basiscomponenten
Gekopieerd in de repository — geen kwetsbare bibliotheekafhankelijkheid, code 100% in eigen hand.
- Radix UI (nieuw tabblad)Toegankelijke primitieven
Correcte ARIA vanaf installatie, toetsenbordnavigatie, focus trap.
Declaratieve API, respecteert prefers-reduced-motion, GPU-compositing.
Tree-shaken, consistente stijl, meer dan 1.500 onderhouden iconen.
Performance
- Prerendering — headless Chromiumv149.0Volledig geleverde HTML
Alle routes van de site — dienstenpagina's, lokale pagina's en de 37 casestudy's in het portfolio — worden tijdens de build gerenderd in een headless Chromium. Voorheen stuurde de server voor allemaal dezelfde lege index.html terug: crawlers die geen JavaScript uitvoeren, zagen alleen de metadata van de homepage.
- web-vitalsv6.1RUM-monitoring
LCP, INP en CLS gemeten bij echte gebruikers en naar GA4 gestuurd.
- WOFF2 variable fontsLettertypen
Outfit + Plus Jakarta Sans zelf gehost, Latijnse subset, font-display: optional.
- Handmatige chunk-opdelingCode splitting
Aparte vendors (react, motion, radix, pdf) → optimale caching op lange termijn.
SEO & gestructureerde data
- @dr.pogodin/react-helmetv3.2Meta per route
Eigen title, description en Open Graph voor elke pagina.
- Schema.org JSON-LDGestructureerde data
Organization, LocalBusiness, Service, FAQPage, HowTo, BreadcrumbList, Article.
- llms.txtGEO-optimalisatie
Apart bestand voor indexering door ChatGPT, Claude, Perplexity en Gemini.
- XML-sitemapCrawlbaarheid
Tijdens de build gegenereerd uit de routes in App.tsx — hij kan nooit achterlopen op de site.
Back-end & data
Beheerde Postgres, Auth, Storage, Edge Functions — open source.
- Brevo (nieuw tabblad)Contactformulier
Ontvangt de berichten van het contactformulier, doorgestuurd via een serverless functie op Vercel.
- Resend (nieuw tabblad)Transactionele e-mails
Verzendt de pdf-offertes van de configurator via een Supabase-functie. Geen IP-filtering aan de API-kant.
- Zodv4.4Runtime-validatie
Getypeerde schema's gedeeld tussen client en server, Franstalige foutmeldingen.
Infrastructuur & CI/CD
- Vercel (nieuw tabblad)Edge-hosting
Deployment bij elke git push, wereldwijd CDN, HTTP/3, preview-branches.
- IONOS (nieuw tabblad)Registrar & DNS
Domeinen kayzen-lyon.com en .fr, DNS-zone en e-mail.
- GitHubVersiebeheer
Code review en volledige geschiedenis — hieruit wordt het openbare wijzigingslogboek gevoed.
- Service WorkerOffline-first
Strategische caching van assets, terugvalpagina /offline.html.
- Vitestv4.1Unittests
Deelt de configuratie van Vite, dus dezelfde aliassen en dezelfde pipeline als in productie.
- Playwrightv1.62E2E-tests
Kritieke gebruikersroutes afgespeeld op Chromium (desktop) en op een mobiel Pixel 7-profiel.
Beveiliging & compliance
- Content-Security-PolicyAnti-XSS
script-src zonder 'unsafe-inline': elk inline script is toegestaan via zijn SHA-256-hash, gecontroleerd tijdens de build.
- HSTS preloadAnti-downgrade
max-age van 2 jaar, includeSubDomains, preloadlijst van Chrome.
- Permissions-PolicyLeast privilege
Camera, microfoon, USB en geolocatie standaard uitgeschakeld.
- AVG/GDPR by designPrivacy
Consent Mode v2, standaard geweigerd, GA4 pas geladen na uitdrukkelijke toestemming (zonder GTM), verwerkers bij naam genoemd.
Interne tools
- ESLintv10.8Linting
Strikte regels, controle van hooks, blokkerend in de CI.
- rollup-plugin-visualizerv7.0Bundle-analyse
Grafische inspectie van de chunks, opsporen van zware imports.
- PostCSSv8.5CSS-build
Autoprefixer, compatibiliteit met moderne browsers (doel es2020+).
- npmPakketbeheerder
package-lock.json is leidend, en precies dat installeert Vercel bij de deployment.
Deze pagina leeft
We werken deze lijst bij bij elke belangrijke wijziging. Bekijk ons openbare wijzigingslogboek voor de volledige geschiedenis van alle iteraties, of ons designsysteem voor tokens en componenten.
Bespreek uw infrastructuur