← Projets

Kime

Un dashboard sportif gamifié qui transforme l'entraînement en habitude quotidienne.

Année2024
RôleDesign · Développement
CatégorieWeb · Produit · Gamification
Site en ligne
Kime — screenshot
Contexte

Les applis de fitness savent enregistrer les séances mais peinent à faire revenir les gens. Duolingo a résolu la rétention quotidienne de l'apprentissage des langues via les streaks, l'XP et une pression douce. Kime applique cette même psychologie au sport — transformer l'entraînement en boucle d'habitude plutôt qu'en corvée.

Défi

La gamification est facile à rater : trop, ça fait gadget ; trop peu, ça ne sert à rien. Le plus dur a été de concevoir un système de progression — streaks, XP, niveaux — qui motive vraiment sans punir les jours manqués, tout en gardant le dashboard lisible d'un coup d'œil.

Décisions clés

React + TypeScript + Vite

Une base SPA rapide : Vite pour le HMR instantané, TypeScript pour la fiabilité de la logique d'état qui pilote les streaks, l'XP et les seuils de niveaux.

Système de streak, XP & niveaux

Le cœur de la motivation. Les streaks quotidiens récompensent la régularité, l'XP et les niveaux visualisent la progression sur la durée, et les jours manqués atténuent le streak au lieu de tout remettre à zéro — en empruntant la psychologie de rétention de Duolingo.

Design system TailwindCSS

Un système utilitaire garde le dashboard dense mais lisible, avec une hiérarchie claire entre les objectifs du jour, les statistiques de progression et les rappels.

Stack
ReactTypeScriptViteTailwindCSS
Résultats

Un dashboard gamifié fonctionnel : séries quotidiennes, XP et niveaux, suivi d'exercices avec statistiques de progression, et rappels d'objectifs. Déployé sur GitHub Pages.

Enseignements
  1. La gamification est un problème de design avant d'être un problème de code — la courbe de récompense compte plus que l'implémentation.
  2. Emprunter des mécaniques de rétention éprouvées est plus rapide et plus sûr que d'inventer un système de motivation de zéro.
Projet suivantPolyAgent