Built with love in Lyon

Our stack — nothing to hide

Here is the exact infrastructure that runs this website. Every choice is deliberate, every tool is proven. The same technical standards for all our clients.

35 tools 8 categories Lighthouse SEO 100 · perf 87

Front-end framework

Styling & Design System

Performance

  • Prerendering — headless Chromiumv149.0Fully rendered HTML

    Every route on the site — service pages, local pages and the 37 portfolio case studies — is rendered at build time in headless Chromium. Previously the server returned the same empty index.html for all of them: crawlers that don't execute JavaScript only saw the home page's metadata.

  • web-vitalsv6.1RUM monitoring

    LCP, INP and CLS measured on real users, sent to GA4.

  • WOFF2 variable fontsTypefaces

    Self-hosted Outfit + Plus Jakarta Sans, Latin subset, font-display: optional.

  • Manual chunk splittingCode splitting

    Separate vendor chunks (react, motion, radix, pdf) → optimal long-term caching.

SEO & Structured data

  • @dr.pogodin/react-helmetv3.2Per-route meta

    Title, description and Open Graph specific to each page.

  • Schema.org JSON-LDStructured data

    Organization, LocalBusiness, Service, FAQPage, HowTo, BreadcrumbList, Article.

  • llms.txtGEO optimisation

    A file dedicated to indexing by ChatGPT, Claude, Perplexity and Gemini.

  • XML sitemapCrawlability

    Generated at build time from the routes declared in App.tsx — it can never fall behind the site.

Back-end & Data

  • Supabase (opens in a new tab)v2.99Backend-as-a-Service

    Managed Postgres, Auth, Storage, Edge Functions — open source.

  • Receives contact form messages, relayed by a Vercel serverless function.

  • Resend (opens in a new tab)Transactional email

    Delivers the configurator's PDF quotes via a Supabase function. No IP filtering on the API side.

  • Zodv4.4Runtime validation

    Typed schemas shared between client and server, French-language error messages.

Infrastructure & CI/CD

  • Deploy on git push, global CDN, HTTP/3, preview branches.

  • kayzen-lyon.com and .fr domains, DNS zone and email.

  • GitHubVersion control

    Code review and full history — it is what feeds the public changelog.

  • Service WorkerOffline-first

    Strategic asset caching, /offline.html fallback page.

  • Vitestv4.1Unit testing

    Shares Vite's configuration, so the same aliases and the same pipeline as in production.

  • Playwrightv1.62E2E testing

    Critical user journeys replayed on Chromium (desktop) and on a Pixel 7 mobile profile.

Security & Compliance

  • Content-Security-PolicyAnti-XSS

    script-src without 'unsafe-inline': every inline script is allowed by its SHA-256 hash, checked at build time.

  • HSTS preloadAnti-downgrade

    2-year max-age, includeSubDomains, Chrome preload registry.

  • Permissions-PolicyLeast privilege

    Camera, microphone, USB and geolocation disabled by default.

  • GDPR by designPrivacy

    Consent Mode v2, denied by default, GA4 loaded only after explicit consent (no GTM), named data processors.

Internal tooling

  • ESLintv10.8Linting

    Strict rules, hooks checks, blocking in CI.

  • rollup-plugin-visualizerv7.0Bundle analyser

    Visual inspection of chunks, detection of heavy imports.

  • PostCSSv8.5CSS build

    Autoprefixer, compatibility with modern browsers (es2020+ targeted).

  • npmPackage manager

    package-lock.json is the source of truth, and it is what Vercel installs on deployment.

This page is a living document

We update this list with every major change. See our public changelog for the full history of iterations, or our design system for tokens and components.

Discuss your infrastructure