L’app qui lit une étiquette et la traduit en clair.
Une app qui lit un produit — aliment ou cosmétique — et dit franchement ce qu’il contient. On est parti d’une page blanche : aucune marque, aucune ligne de code. On a créé l’identité, modelé la mascotte, puis conçu et bâti l’app iOS et Android, son site et sa console d’administration.
- iOS + Android
- Marque + mascotte
- Scan par IA
- Bilingue
- Mandat d’un mois
01 — Le mandat
Se distinguer était une contrainte, pas un débat de goût.
Le leader de la catégorie avait déjà pris les couleurs de feu de circulation et le légume à visage. Apple refuse les sosies : la distinction devenait une exigence. On l’a donc conçue volontairement.
Une échelle de verdict qui n’est pas un feu de circulation
Sarcelle, or, brique — sûre pour le daltonisme, et délibérément à l’écart du vert-orange-rouge de la catégorie.
Un abricot, pas un légume
La mascotte est née du point abricot qui suit le « u » du logo. Ronde, chaleureuse, et structurellement loin de tout légume à visage.
Informatif, jamais médical
Chaque surface calculée ou générée porte sa mention bien-être. Aucun vocabulaire de diagnostic, aucune peur vendue, et toujours une meilleure option proposée à côté.
Aucun algorithme maison
Le score repose sur des normes publiques : Nutri-Score, NOVA, risque des additifs. Vérifiable, défendable, et impossible à accuser d’être une boîte noire.

02 — La marque, à partir de zéro
On a écrit la voix avant de dessiner un seul pixel.
« Un ami dans l’allée du supermarché » : chaleureux, encourageant, jamais moralisateur, jamais clinique. Toute la marque découle de cette phrase.
Le mot-symbole, et le point qui devient mascotte
Le point abricot après le « u » est devenu le symbole, puis la mascotte. Livré en clair, foncé et monochrome, en SVG et en trois densités, lisible à 16 px, avec l’icône iOS et les couches adaptatives Android.
Bou, modelé en 3D
Argile mate, une seule lumière chaude, aucun plan de sol, fond transparent rendu au triple de la taille d’affichage. Six poses livrées — et une pose neutre en premier, pour que chaque emplacement de l’app s’allume dès le premier jour.
Une mascotte qui a des règles
Bou n’apparaît qu’aux moments émotifs — attentes, listes vides, erreurs, célébrations — jamais sur les surfaces de données : le score reste la vedette. Et Bou ne pointe jamais du doigt. Un mauvais produit reçoit de la sympathie, pas du mépris.
Des jetons, pas des valeurs en dur
Palette écrite en OKLCH puis convertie pour le mobile, avec un miroir unique dans un fichier de jetons : l’app, le site et la console ne peuvent pas dériver l’un de l’autre.

03 — Le verdict
Un chiffre honnête — et jamais une couleur toute seule.
Santé = 60 % nutrition, 30 % additifs, 10 % transformation. Trois composantes publiques, une pondération écrite noir sur blanc, aucune magie.
Quand la base publique est incomplète, on repondère
Il manque la transformation ? Nutrition et additifs se partagent le poids. Il manque la nutrition ? La composition porte le verdict. Un cosmétique ? Le score se fait sur la composition seule. L’app répond toujours quelque chose d’honnête plutôt que de refuser.
68 additifs, chacun expliqué en une phrase
Quatre niveaux de risque tirés d’évaluations publiques, chacun avec une explication en langage clair. Un additif inconnu tombe par prudence dans « à suivre » — un défaut prudent plutôt qu’un silence.
Pas de compensation
Un seul additif « à éviter » plafonne la composante. On ne rachète pas un mauvais ingrédient avec de bons chiffres ailleurs.
L’accessibilité fait partie de la portée
Couleur + icône + mot, toujours. Cibles tactiles de 44 pt minimum, anneau de score qui saute à son état final quand l’utilisateur réduit les animations, et score lu à voix haute par le lecteur d’écran.

04 — Le moment signature
Quand le code-barres ne donne rien, on photographie l’étiquette.
C’est la fonction qui devait être impeccable. Elle marche en deux étages — et le premier ne quitte jamais le téléphone.
Étage 1 — sur l’appareil, gratuit, hors ligne
Un module natif écrit pour le projet : Apple Vision sur iOS, ML Kit sur Android. Le texte est lu, les codes E et les allergènes analysés localement, puis envoyés au même moteur de score. La photo ne sort pas du téléphone.
Étage 2 — seulement si la confiance est trop basse
L’image est alors ramenée à un JPEG borné, puis analysée par un modèle de vision. Monter à l’étage 2 est une décision mesurée, pas un réflexe.
Rien n’est inventé
La consigne interdit l’invention : un mot illisible est ignoré. Une étiquette trop floue ne produit pas une erreur brute, mais un état dessiné — avec sa propre pose de Bou.
Le coût est tenu par l’architecture
Chaque appel passe par un cache adressé par contenu : la millième personne qui scanne la même canette ne coûte rien. Un quota quotidien est appliqué côté serveur et renvoyé avant tout appel au modèle — dépasser son quota ne dépense rien. Et le cache ne peut jamais faire échouer une requête.

- 6 sem.
- de la page blanche aux trois surfaces livrées
- 446
- tests automatisés, avec un plancher de couverture appliqué
- 3
- surfaces : app mobile, site public, console d’administration
- 2
- langues, du premier écran jusqu’aux pages légales
Travail livré, vérifiable dans le dépôt Libou. Aucune donnée d’usage n’est publiée : elle appartient au client.
