Design system
This site practises what I sell: it runs on its own design system. Three tiers of tokens, BEM-named components, one simple rule for corners. Every value on this page is read live from the site’s stylesheets.
Three tiers of tokens
A raw value is never used directly. It gets a role, then a component reads that role. To change the blue everywhere, you touch a single token.
–
Reference · declared
Raw values: palette, spacing scale, radii, typefaces, durations.
–
System · declared
What a value is for: subtle background, secondary text, media radius. The only tier that changes with the theme.
–
Component · declared
A component’s settings, wired to roles: the primary button background on hover.
One colour, from raw token to component
Colour
One brand colour, one ink, a set of neutrals. Switch the theme: only the roles change value.
Palette (reference)
Roles (system)
Typography
Two roles, no more: Ancizar Serif for headings, Syne for everything else.
Aa Bb 128
I’m the designer who reads spreadsheets and the marketer who cares about typography.
Scale
Spacing
A 4 px base, named by multiples of 4: space-8 is 32 px. Sections breathe on two values, 96 and 128 px.
The corner rule
What you click is square, what you look at is rounded.
Components
Named in BEM: a block, its elements, its modifiers. Each one reads only its own tokens.
Brand Partner™
A text card: square, because you click it.
Card
.ds-card__body · __icon · __title · __text · __cta


How it is maintained
The site ships like a product: every change follows the same path, and can be rolled back.
- 1
One branch per version
Each change starts from production, isolated.
- 2
A preview
Vercel publishes a test version on every change.
- 3
A sign-off
Nothing is merged without explicit approval.
- 4
A tag and a note
Every version is numbered and described.
Rules
- No hand-written colour inside a component.
- A component reads only its comp tokens.
- Utility classes handle layout, not identity.
- Every version keeps the same page height, unless a change is intended.
Changelog
- v2.9This page: the design system, documented and public.
- v2.8Navigation: next project, all projects, ⌘K palette.
- v2.7Three-tier tokens, BEM components, corner rule, system mode.
- v2.6.2The hover photo on “Maxime” follows the cursor.
- v2.6.1Browser language, booking link on every call to action.
- v2.6Cookie-free analytics, no banner, sharper positioning.
- v2.5Indexable French, share images, performance.
- v2.4Legal notice, JavaScript-free hero, accessibility.
- v2.0Migration from Figma Make to Next.js, design unchanged.
Your brand deserves the same foundation.
A design system is what makes an identity last: every new page, every new format starts from the same rules. Let’s talk about yours.
Book a call