Timothée Jezek

Case study

Ma Certif’ Pro Santé

UI Dev AI

Designing from scratch a national e-service for a million health professionals who never asked for it.

Homepage of the Ma Certif’ Pro Santé e-service, deliberately blurred: the certification progression dashboard, in DSFR.

Deliberately blurred: the service is not live yet, and its screens are not mine to show.

Role
UI / Product designer, from-scratch design of the professional-facing screens
Period
2026 · MVP in preparation
Context
French Digital Health Agency (ANS), via Atos / Eviden
Tools & stack
DSFR (no theming) · RGAA · Navigable HTML prototypes · Driver.js

This service’s users are mostly field-based and mobile, with little screen time, and they never asked for this legal obligation. They will visit the app rarely, sometimes once a year. Designing for them is not “making a dashboard”: it is making an imposed constraint understandable in three seconds, on a phone, between two shifts.

The decisions

52 frameworks, one interface

The founding hypothesis. Every profession has its own framework of actions, written by its national professional council on a common methodological base (HAS). The project rested on an implicit hypothesis: common base, therefore homogeneous frameworks, therefore one interface for all.

What I demonstrated. By crossing the ANS-consolidated data with the 52 source PDFs, the hypothesis proved false: 52 frameworks, 2,951 actions, zero uniform structure. Depth varies from 3 to 5 levels depending on the profession, and the “2 actions per axis” rule everyone believed universal is not: some professions require 3, others count in points, others impose hour minimums. Consequence: impossible to hardcode the rules engine: the database had to parameterise validation profession by profession.

The choice. Rather than waiting for the 52 councils to harmonise (a 12-to-18-month effort), a pragmatic MVP common core: two minimal structural criteria with parameterisable tolerances, and a classification of the 52 frameworks into 5 statuses, materialised in an arbitration file. Result: 45 frameworks integrable in V1, 6 deferred to V2, and one framework discovered entirely missing from the consolidated data, flagged and fixed.

What it changed. The project moved from an implicit “one UI for all” to an explicit MVP scope and a parameterisable base. Not a narrowing: a numbered, arguable reading of what had been an unverified hypothesis.

From accounting logic to progression logic

The old prototype showed cold fractions, a misleading time bar (it conflated elapsed time with progress) and no visible action on arrival. The redesign: a primary CTA on arrival, a countdown instead of fake progress, axes named in plain words, a genuine moment of celebration when the cycle completes. And above all: a theme-based onboarding, so nobody is ever left alone facing 2,951 possible actions.

One side panel, two states

Rather than stacked panels, a single panel with two states (detail / edit). Attachments are all or nothing: nothing is saved before “Save”, and the guard dialog only appears if you close with changes in progress. Simpler to maintain, cleaner for accessibility.

The semantics of states before the pattern

An empty state is not an error, which is not a loading state. A reference framework still being written by the profession is a legitimate empty state: no red alert, no fake spinner. Every DSFR component choice is defended in meetings on accessibility and meaning, never on taste. Same logic for the guided tour: triggered automatically on first login, because an opt-in tour is never seen.