Timothée Jezek

Speciality

A design system is not a library. It's a doctrine.

Over the past four years I've been through all three situations you can face with a design system: growing one out of a UI kit, theming the State's, and deciding not to use it. The third one taught me the most.

01

From UI-kit hell to a system

Every brand can change its background and colour, glassmorphism included: the product's founding stance. In a UI kit, every combination was a special case, states multiplied and maintained by hand, while the product went from one client to dozens. I turned that UI kit into a design system where personalisation is a variable: contrast guaranteed by construction, variants and states systematised, documented components. The original ambition survived scale. The system was also my master's thesis, defended with the jury's highest honours.

A good system does not kill the original ambition: it makes it maintainable.

Read the case study: EcoDesignCloud

02

Theming the State's system

The DSFR is mandatory for French public services; the agency's identity exists too. The answer: an additive theming layer: the DSFR core is never modified, identity overlays through tokens. JSON tokens are AI-generated for the combinatorial part, then hand-checked: RGAA contrast, brand fidelity, accessibility non-regression. All of it open source.

Additive over replacement: you pay neither double maintenance nor the loss of native accessibility.

Read the case study: ANS × DSFR Design System

03

Knowing when not to use it

The theming tool existed, and the decision was not to use it. A sovereign e-service must be recognised as a State site, not an agency brand: pure DSFR, deliberately. It's the one that tests whether a system has a doctrine or is just a library.

A tool you don’t know when to use is a gadget. The usage criterion is part of the deliverable.

Read the case study: Ma Certif’ Pro Santé
EcoDesignCloud foundations: semantic tokens named by usage (intent-success-background → green-200), not by colour. The doctrine shows in the naming.

What I defend in meetings

  • No design system on principle.

    A system is maintenance for life. On Gatto, my own product, I didn't build one: a UI kit is enough, we're in build mode. A design system would have been a waste of time.

  • Additive over replacement.

    On the ANS work, the DSFR core was never modified: identity lives in an extension on top. Upstream State releases land without breaking anything.

  • Semantics before patterns.

    A token is named by usage: intent-success-background, not green-200. And an empty state is not an error: on Ma Certif’ Pro Santé, a not-yet-published framework displays without a red alert.

  • A deviation is argued from accessibility and meaning, never from taste.

    AI-generated tokens had to pass RGAA contrast thresholds before entering the system.

  • Ship the usage criterion with the artefact.

    The DSFR-ANS work didn't just deliver a theming capability: it delivered the rule for when not to use it. Ma Certif’ Pro Santé applied it, pure DSFR.

Accessibility doesn't arrive at the final audit: it lives in the foundations: contrast thresholds are part of the tokens. I'm Opquast-certified and RGAA-trained, and AI has its place in my practice: generating the combinatorial, never replacing judgment.

Building or adopting a system? Write to me.