Kayzen Web
The agency's website is its first reference: it is audited more strictly than any client's.
- Year
- 2026
- Design & build
- continuous improvement
- Stack
- React · Vite · Tailwind · TypeScript · Vercel
- Strategy
- Design system
- Development
- SEO
- Accessibility
- Copywriting

- Lighthouse accessibility
- 100/100
- Lighthouse SEO
- 100/100
- routes prerendered at build time
- 79
- documented projects, each with its own case study
- 37
What needed solving.
The background
kayzen-lyon.com is the agency's shop window: 79 prerendered routes, including 21 service pages, 4 location pages, a public price list, a changelog, a tech stack page and an open design system.
The constraint
A web agency is judged on its own website before it is judged on its work. The slightest flaw — an average performance score, insufficient contrast, invalid structured data — becomes an argument against it. The site therefore had to withstand technical inspection by a demanding prospect.
The response
We made public what agencies usually hide: pricing, the tech stack, the design system, and a changelog listing the fixes made to the site itself. Transparency serves two purposes — it reassures prospects, and it forces us to maintain the standard.
The scores recorded at delivery.
Lighthouse scores for the live site. We publish them as they are: when one is low, its cause and the plan to fix it are set out below rather than glossed over.
Every design choice, and the reason for it.
A documented, public design system
Colour tokens, a fluid type scale, four shadow levels, a single vertical rhythm. The /design-system page exposes them. A visible system is a system that does not drift.
All contrast measured
Every colour pair was calculated. Field borders reach 3:1, the focus ring is decoupled from the action colour so it stays visible on a coloured button, and text gradients were removed in favour of flat colour.
Entrance animations only
No infinite loops apart from the loading indicator: permanent GPU cost, battery drain and vestibular discomfort. The system's reduced-motion preference is strictly respected.
Project palette
Navy
#1F3B61
Headings, structure
Terracotta
#B7481F
Action — 5.3:1 on white
White
#FFFFFF
Page surface
Cool grey
#F8FAFC
Alternating sections
Type system
Display
Outfit 800
Body text
Plus Jakarta Sans 400
Two self-hosted variable families, with font-display: optional — no layout shift on load.
What's under the bonnet.
- React
- Vite
- Tailwind
- TypeScript
- Vercel
Every route prerendered at build time
A SPA serves the same HTML for every URL: per-page metadata is invisible to any robot that does not execute JavaScript. A prerender script visits every route and writes a complete HTML file — title, description, canonical, Open Graph, JSON-LD.
The build refuses to pass on a defect
The build fails if a route has no metadata, if the 404 page loses its noindex, if an image exceeds 1440 px, if the CSP is out of date, or if a “to be completed” placeholder reaches the generated HTML. Guardrails beat vigilance.
Code split by route
Every page is a separate chunk, including the home page. A legal notice page has no reason to download the home page's animation library.
How the site makes itself findable.
One entry point per intent
17 service pages and 4 location pages, each targeting a distinct search. None is a keyword variant of another: they are different content.
Consistent structured data
Organization, LocalBusiness, ProfessionalService, WebSite, WebPage and BreadcrumbList, all linked by @id. Contradictory duplicates were removed — two competing breadcrumb trails on the same URL are better than none, but only just.
No self-awarded ratings
The aggregateRating was removed: ratings a business awards itself are prohibited by Google's guidelines and expose the site to a manual action. We would rather lose the star than the domain.
Usable by everyone.
Since June 2025, the European Accessibility Act has required digital accessibility from a large share of online services. We build it in at the design stage rather than retrofitting it.
100/100 in Lighthouse, plus a manual audit
Skip link, focus moved and announced on every route change, 44 px touch targets, and a high-contrast mode, OLED mode and dyslexia-friendly font offered in a dedicated panel.
What was delivered.
- Home
- 17 service pages
- 4 location pages
- Portfolio and 37 case studies
- Pricing, funding, quiz, appointments
- Stack, design system, changelog
- Legal pages
How the project unfolded.
Design system
Tokens, contrast, type scale, shadows.
Content
17 services, 4 areas, public pricing.
Technical SEO
Prerendering, structured data, sitemap, build guardrails.
Continuous improvement
Successive audits recorded in the public changelog.
What we are often asked.
More of our work
GDPR compliance & SaaSKonsent by Kayzen
A banner vendor that audits banners is both judge and party: independence was the product.
Offensive cybersecurity & SaaSSentinel by Kayzen
Selling a security product to engineers: every claim had to be demonstrable.
Data & weather serviceMétéo Climat France
358 indexable pages, a map animated over 72 time steps — and not a single line of framework.
The same high standards, for your website.
A free audit of your current site, a quote within 24 hours and written reasoning — like the case study you have just read. Pay in three interest-free instalments; local funding schemes checked before you sign.