Case study · shipped August 2026
Decathlon OS
One internal app for Decathlon Switzerland's people development (onboarding, training and skills validation), replacing a sprawl of spreadsheets, forms and scripts with a single system.
- Client
- Decathlon, Switzerland
- Role
- Design & engineering, solo
- Stack
- Next.js · Supabase · Databricks
- 57
- stores
- 1'100
- teammates
- 341
- trainings
- 4
- languages
The problem
Three processes lived in scattered spreadsheets: hard to find, hard to trust, impossible to scope per store.
Skills validation, onboarding and training each lived in their own Google Sheets, Forms and AppScript. People didn't know which process to follow, leaders couldn't see their store in one place, and nobody fully trusted the numbers.
One home for growth
Every teammate sees three pillars.




The leader loop
Leaders assess. The queue never lets anyone slip.
A collaborator is never self-assessed. Their leader answers Yes/No checks grouped into OKR, KPI and observation, against a threshold. The dashboard keeps a “needs assessment” queue sorted so the least-covered people surface first.

Shop-floor first
Assessed between two customers.
Leaders assess on a phone or tablet, one-handed, one question at a time. The store's synced KPIs pre-fill a suggested Yes/No. The leader always has the last word, and the provenance is stored with the answer.


Admin
The admin home is a command palette.
One search box over all sixteen destinations and the whole roster. Typing “mystery” surfaces the destination, typing a name deep-links to the person. No menu tree.
Authoring
A product, not a form.
Onboarding journeys, courses, competences and surveys are all authored in-app, in builders with live preview. Content is written once in French and machine-translated into all four languages the moment it's saved.


Data
The numbers walk in every night.
A nightly sync from the company's Databricks warehouse feeds store KPIs, grouped People / Profit / Planet, and pre-fills the KPI-backed checks with a suggested answer the leader can override.
The quiet engineering
Scope is the product.
Who sees what is enforced in Postgres row-level security, read from JWT claims, not hidden in the interface. Admin sees all 57 stores, a store manager sees one, everyone else sees themselves.
History that stands.
Competences are versioned. Every assessment snapshots the question set, score, threshold, store and leader. Editing a question never rewrites a past result.
It absorbed the forms around it.
Mystery-shopper visits, training feedback, 360° reviews and ad-hoc surveys each replaced a Google Form and moved into the app.