Bible Projet · Chapitre 6 · Expérience Utilisateur

UX comme
Système

Des comportements, pas des écrans. Des décisions, pas des wireframes.
AudiencePM · Design · Growth
FormatAudit comportemental
Sections6.1 → 6.12
Analyse lucide — y compris les UX qui font churn
Section 6.1

User
Journeys

Pas les journeys idéalisés. Les vrais — avec les hésitations, les doutes, et les moments où l'utilisateur part.

J-01
L'Onboarding — De la Curiosité à l'Aha
Trigger : contenu TikTok style, recommandation amie, recherche Google "trouver son style"
Core
Découverte
L'utilisateur voit BeYourself pour la première foisApp Store ou landing page. Il a 8 secondes pour décider si c'est pour lui. Son filtre inconscient : "est-ce pour les fashionistas ou pour moi ?" Le premier visuel doit répondre à cette question avant le premier mot lu.
CuriositéMéfiance
Premier écran
La promesse — en moins de 60 secondesIl doit comprendre : "cette app apprend qui je suis". Pas "cette app organise ma garde-robe". La distinction est fondamentale. Si le premier écran parle d'organisation, 40% du marché adressable est perdu instantanément.
→ Décision : "Est-ce que ça me parle ?"
ÉvaluationFiltre identitaire
Questionnaire
5 questions visuelles — valeur avant l'effortÀ Q3, l'utilisateur voit un premier micro-insight. Ce moment est critique : c'est la première preuve que le système l'écoute vraiment. Sans ce signal intermédiaire, 30% abandonnent avant Q5.
⚠ Risque churn si Q3 ne produit pas de signal visible
Engagement progressifEffort
Profil initial
Le premier miroir — l'aha moment zéro"Voici ce qu'on sait déjà de toi." L'utilisateur voit une palette de couleurs et 2-3 phrases qui le décrivent. Si c'est juste → il continue. Si c'est générique → il part. Il n'y a pas de deuxième chance ici.
✓ Moment de valeur : "C'est étonnamment précis"
SurpriseConfiance naissante
Upload initial
La demande d'effort — le moment le plus dangereux"Ajoute tes 5 premières pièces." L'utilisateur se demande : "Est-ce que ça vaut 10 minutes de mon temps ?" La réponse dépend entièrement de la qualité du profil initial vu 30 secondes plus tôt. Si le profil a été juste → il uploade. Sinon → il fermera l'app.
⚠ 40-50% de churn ici si la valeur perçue est insuffisante
Effort perçuEspoir d'amélioration
Activation
La première suggestion — l'aha moment réelAvec 10-15 items, la première suggestion arrive. Elle doit être surprenante — une combinaison que l'utilisateur n'aurait jamais pensée seul mais qui lui semble immédiatement juste. Si c'est banal → l'app rejoint les autres. Si c'est juste → la boucle de rétention commence.
✓ Moment de valeur réel : "Cette app me comprend mieux que mes amis"
Aha momentConfiance forte
J-02
La Routine Matinale — L'Habitude Installée
Trigger : notification push à 7h30 avec contexte météo
Quotidien
Réveil
La notification arrive avant le premier caféLe message doit être contextuel, pas générique. "Il fait 8°C et tu as une réunion — ta suggestion est prête" crée l'habitude. "Découvre ta tenue du jour" est ignoré. La notification est une promesse de valeur, pas une interruption.
Routine naissante
Context input
3 secondes, 3 boutonsHumeur (3 options) + contexte (3 options). Pas plus. Si c'est plus long, l'utilisateur skip — et la suggestion se dégrade. La valeur de l'input contextuel doit être immédiatement visible dans la suggestion générée, pas abstraite.
→ Décision : "Est-ce que ça vaut 3 secondes d'attention ?"
Automatique
Suggestion
La réponse en moins de 500msLes photos réelles de ses propres vêtements. L'appartenance identitaire est visible immédiatement. Si la suggestion est en dessous de 80% de pertinence ressentie, l'utilisateur la refuse. 3 refus consécutifs = habit brisé.
Confiance acquiseAutomaticité
Choix + Log
1 tap = tenue choisie + loggéeLa sélection d'une suggestion est simultanément un log. Zéro étape supplémentaire. L'utilisateur est habillé, l'app est nourrie. Ce geste doit durer moins de 10 secondes total depuis l'ouverture de la notification.
✓ L'habitude est formée quand ce geste est aussi naturel que consulter la météo
InvisibleSatisfaction
J-03
Le Check Avant Achat — La Décision Éclairée
Trigger : en boutique ou sur un site e-commerce, hésitation sur une pièce
Décision
Contexte
L'utilisateur est en train d'acheterIl est sur Zara.com ou en cabine d'essayage. Il hésite. Ce moment d'hésitation est le déclencheur. L'utilisateur pense "est-ce que ça ira avec ce que j'ai ?" — c'est exactement la question que BeYourself peut résoudre en 10 secondes.
Hésitation d'achatIncertitude
Input
Photo ou partage de lienPhoto : 1 clic depuis l'app. Lien URL : Share Extension iOS/Android → BeYourself. L'accès doit être instantané — si l'utilisateur doit naviguer 3 écrans pour arriver au check, le moment d'impulsion est passé et il achète sans réfléchir.
⚠ Si l'accès prend plus de 15 secondes, le comportement ne se forme pas
Curiosité instrumentale
Résultat
Score + 2-3 phrases explicativesPas "78/100 — achète". Mais "Cette couleur est dans 35% de tes tenues les plus portées" ou "Tu as déjà 3 pièces dans cette coupe — voici comment tu les combines". Factuel, non-prescriptif. L'utilisateur décide seul.
✓ Première fois qu'un achat devient une décision, pas une impulsion
Confiance renforcéeClarté
J-04
Le Retour Émotionnel — Le Réengagement par la Mémoire
Trigger : notification "Il y a 6 mois, tu portais ça..." après 3 semaines d'absence
Réengagement
Absence
L'utilisateur n'a pas ouvert l'app depuis 3 semainesVacances, surcharge, oubli. Une notification promotionnelle serait ignorée. Une notification mémoire — une photo d'une tenue portée il y a 6 mois à un moment précis — capte une émotion que rien d'autre ne peut toucher. Ce n'est pas du marketing, c'est de la mémoire.
Décrochage
Réengagement
La photo ouvre le journalL'utilisateur revoit une version de lui-même. Il scrolle. Il voit qui il était. Ce moment de rétrospective crée un désir de documenter qui il est maintenant. Le réengagement n'est pas forcé — il est suscité.
✓ Taux de réouverture attendu après memory trigger : 40-55%
Nostalgie positiveCuriosité rétrospective
Reconversion
L'utilisateur re-logue une tenueIl était absent. Il revient et logue. Le cycle recommence. La rétention par mémoire est la plus puissante car elle ne nécessite ni feature nouvelle ni promotion. Elle demande uniquement que l'app ait accumulé suffisamment d'histoire pour être irremplaçable.
Retour dans le cycle
J-05
Le Partage Viral — Le Style Wrapped
Trigger : notification "Ton année en style est prête" en décembre
Viral
Découverte
La notification du WrappedUn seul envoi par an. Le fait qu'il soit rare le rend précieux. L'utilisateur l'ouvre avec la même curiosité qu'un Spotify Wrapped — "qui étais-je cette année ?"
AnticipationFierté anticipée
Exploration
Scroll de l'annéeCouleurs dominantes, pièces les plus portées, évolution du Style Clarity Score, "ton moment de style de l'année" (la tenue avec le meilleur contexte loggé). Chaque carte est conçue pour être partagée sur TikTok ou Instagram Stories.
✓ L'émotion principale : "J'ai l'impression d'avoir grandi cette année"
FiertéRévélation
Partage
1 tap = card prête pour StoriesLa carte est exportable en 1 tap, au format 9:16 optimisé Instagram/TikTok, avec le nom BeYourself visible mais non intrusif. Chaque partage est une publicité organique au coût zéro.
✓ KPI : taux de partage >15% des utilisateurs actifs annuels
Partage identitaire
Section 6.2

Onboarding comme
Activation

Le problème de l'onboarding de BeYourself est structurellement difficile : la valeur grandit avec les données, mais il faut des données pour montrer la valeur. Briser ce cercle est le design challenge central.

L'erreur la plus fréquente : demander l'effort (upload) avant la valeur (profil). Dans les tests d'apps mode similaires, 60-75% des utilisateurs abandonnent quand le premier écran demande de photographier des vêtements. BeYourself doit inverser ce flux : valeur d'abord, effort ensuite.

Avant l'app : La promesse

Le screenshot App Store et la description doivent répondre à "est-ce pour moi ?" sans que l'utilisateur ait à chercher. Le mot "mode" est absent des 3 premières lignes. On parle d'"identité visuelle" et de "connaissance de soi". Ce filtre est UX avant même le premier écran.

Pré-install
01
Premier écran — La promesse émotionnelle

"Découvre qui tu es à travers ce que tu portes." Une phrase. Une image de vraie garde-robe réelle (imparfaite, diverse). Pas de feature list. Le CTA : "Commencer." Pas "S'inscrire" — l'effort de création de compte est différé.

0 — 5 sec
02
Questionnaire — 5 questions visuelles

Pas de texte libre. Grilles d'images uniquement. À Q3, un premier micro-profil apparaît dans un coin de l'écran — preuve visuelle que le système écoute. Cette surprise intermédiaire réduit l'abandon de 25%.

3 — 5 min
drop : 15%
03
Profil_v0 — Le premier miroir

Écran entier dédié au profil initial. Palette de couleurs. 2-3 phrases en langage humain. Style temperament nommé (pas un archétype générique — un langage personnel). Ce moment doit être ressenti comme une révélation, même imparfaite. C'est ici que l'utilisateur décide de continuer.

Instant
04
Création de compte — Après la valeur

Seulement maintenant. "Sauvegarde ton profil." Sign in Apple / Google en premier. Email disponible mais pas mis en avant. L'utilisateur a déjà investi 5 minutes — le compte est la continuité logique d'un effort déjà consenti, pas un prérequis.

20 sec
drop : 8%
05
Upload initial — L'effort progressif

"Ajoute tes 5 premières pièces pour affiner ce profil." Pas 50. Pas "ta garde-robe entière". La gamification est visible : barre de progression "5 items → profil amélioré". Chaque upload montre une micro-amélioration du profil en temps réel. L'effort est récompensé immédiatement.

10 — 20 min
drop : 35%
06
Première suggestion — L'activation

Avec 10+ items. La première suggestion est présentée comme un cadeau, pas un test. "Voici une combinaison que tu n'aurais peut-être pas pensée — uniquement depuis ce que tu possèdes." L'utilisateur est activé. La boucle commence.

Instant
07
Permission push — Différée et contextualisée

Jamais sur le premier écran. Jamais dès l'installation. La demande push arrive au moment où l'utilisateur comprend que la suggestion matinale nécessite une notification. "Pour que je te rappelle de consulter ta suggestion demain matin, peux-tu m'autoriser à t'envoyer une notification ?" Ce cadrage augmente le taux d'acceptation de 30%.

J+1
7étapes onboarding total
30 mintime-to-value cible
J+1moment optimal permission push
~42%taux d'activation cible (installs → activated)
Section 6.3

Logique de
Navigation

L'utilisateur de BeYourself arrive avec 3 intentions mentales différentes. La navigation doit servir les 3 sans créer de friction entre elles.

01 Les 3 intentions mentales

Mode "je veux ma tenue" — Intention de tâche, 7h30 du matin, moins de 30 secondes disponibles. Il faut que la suggestion soit accessible en 1 tap depuis la notification ou en tap sur l'onglet principal. Tout écran intermédiaire ici est une friction toxique.

Mode "je veux comprendre mon style" — Exploration contemplative, souvent le week-end ou le soir. L'utilisateur browse son profil, son journal, ses patterns. Il a du temps. La navigation peut être plus profonde, les informations plus denses.

Mode "je veux vérifier un achat" — Intention décisionnelle, en contexte d'achat. Le check doit être accessible depuis le bouton d'action flottant (+) en moins de 2 taps. Souvent déclenché depuis une autre app — la Share Extension est critique.

02 Structure de navigation bottom (4 onglets maximum)
03 Ce qui doit être toujours visible / caché / contextuel

Toujours visible : le bouton d'action principal (+), l'onglet Aujourd'hui avec le badge si une suggestion est disponible, le Style Clarity Score en haut du profil (progression visible → motivation de retour).

Caché (1 niveau de profondeur) : les settings, les préférences de notification, la gestion de l'abonnement, l'export de données. Ces éléments ne doivent pas polluer la navigation principale — ils existent mais ne s'imposent pas.

Contextuel : le purchase check (visible quand l'utilisateur browse le dressing ou arrive via Share Extension), les memory triggers (visible dans le journal uniquement), les options de partage (visible après génération du Wrapped ou consultation du profil).

Section 6.4

Arborescence

Hiérarchie conçue pour minimiser les clics vers les fonctions critiques et maximiser la découverte des fonctions secondaires.

BeYourself App
├─ Aujourd'hui (Tab 1) MVP
├─ Suggestion du jour (cards swipables)
├─ Context input (humeur + contexte)
├─ Log rapide tenue d'aujourd'hui
└─ Score du jour / météo intégrée
├─ Dressing (Tab 2) MVP
├─ Vue grille (default) / Vue liste
├─ Filtres (couleur / type / contexte / fréquence)
├─ Recherche textuelle
├─ Item detail → édition métadonnées
└─ Historique de port / Cost-per-wear Premium
├─ Profil (Tab 3) MVP
├─ Visual DNA (palette + silhouette + texture)
├─ Style Clarity Score + historique
├─ Style Vocabulary (mots qui te décrivent)
├─ Context personas (travail / casual / soirée)
├─ Journal de style (timeline)
├─ Pattern insights hebdomadaires Premium
└─ Style Wrapped annuel V2
├─ Ajouter (Tab 4 / FAB) MVP
├─ Camera (upload direct)
├─ Galerie (import depuis photos)
├─ Purchase Check (photo ou URL) Premium limit
└─ Import bulk (Vinted / commandes) V1
└─ Settings (niveau profond)
├─ Notification preferences (heure suggestion matinale)
├─ Privacy Dashboard (ce que BeYourself sait de toi)
├─ Abonnement (gestion / annulation visible)
└─ Export données / Suppression compte

Règle de profondeur : les fonctions critiques (suggestion, log, add item) ne doivent jamais être à plus de 2 taps depuis l'onglet actif. Les fonctions de gestion (settings, privacy, export) peuvent être à 3-4 niveaux de profondeur — les utilisateurs qui les cherchent ont l'intention et la patience.

Section 6.5

Funnels Critiques

Chaque funnel a un drop-off prévisible. Les identifier à l'avance permet de concevoir les optimisations avant de les subir.

01 Funnel Acquisition → Activation
Impression (pub, TikTok, bouche-à-oreille)
Toutes les personnes qui voient BeYourself mentionné.
100%
Page App Store / Landing
Ceux qui cliquent pour en savoir plus.
40% — creative / positioning mismatch
Screenshots identitaires (pas logistiques) dans l'App Store
60%
Installation
Ceux qui installent l'app.
32% — friction install, peu de reviews initiales
28%
Questionnaire complété
Ceux qui finissent les 5 questions.
9% — abandon si premier écran = demande upload
Questionnaire AVANT création de compte
19%
Compte créé
Ceux qui s'inscrivent après avoir vu leur profil_v0.
2% — drop très faible car valeur déjà vécue
17%
Activé (10+ items + 1ère suggestion)
Ceux qui atteignent l'aha moment réel.
8% — la friction upload reste le plus gros obstacle
Import automatique Vinted + gamification progression upload
9%
02 Funnel Activation → Rétention (D30)
Activés (D0)
Tous les utilisateurs ayant vécu leur aha moment.
100%
Retour D3
Reviennent dans les 3 premiers jours.
45% — si pas de notification, pas de retour naturel
Permission push à J1 contextualisée sur la routine matinale
55%
Habitude J7 (3+ ouvertures)
Ont ouvert l'app 3+ fois en 7 jours. Signal d'habitude naissante.
17% — si suggestion matinale échoue 2+ fois, habitude ne se forme pas
Monitoring qualité suggestion J1-J7. Alerter si taux de refus >30%
38%
Rétention D30 (MAU)
Toujours actifs à J30. Benchmark apps lifestyle : 15-20%. Cible BeYourself : 28-35%.
10% — principalement décrochage si suggestions se répètent ou si profil stagne
28%
Conversion Premium (post-aha)
Du total installs → payants. Soit ~18% des utilisateurs D30 actifs → payants.
Paywall uniquement après Score >60% ou 50 items atteints
5%
Section 6.6

Responsive
Design

BeYourself est un produit mobile-first. La version web existe pour des usages spécifiques — pas pour tout.

Mobile (iOS + Android) Primaire · Flutter

L'écran par excellence. La camera, les notifications push, la suggestion matinale, le log rapide — tout ça nécessite le mobile. 95% des interactions se font là.

  • Suggestion matinale depuis la notification (rich push avec image)
  • Upload photo depuis la camera en 1 tap
  • Share Extension depuis Safari/Chrome pour le purchase check
  • Log tenue en 1 tap depuis la suggestion
  • Navigation bottom bar — pouce accessible sans changer de prise en main
  • Scrolling du journal : confort du scroll vertical mobile
  • Widget iOS/Android sur l'écran d'accueil : suggestion du jour sans ouvrir l'app
Web / Desktop Secondaire · PWA ou Web Flutter

Deux cas d'usage valides sur desktop : la consultation du profil (grand écran, contemplative) et les outils Pro pour les stylistes (gestion multi-clients).

  • Vue profil enrichie : Visual DNA sur grand écran
  • Journal de style scrollable horizontalement (timeline)
  • Outils Pro : gestion clients en colonnes multiples
  • Wardrobe grid : plus d'items visibles simultanément
  • Exportation du Wrapped en qualité impression
  • Pas de suggestion matinale (usage non pertinent)
  • Pas d'upload principal (camera mobile prévue)

Ne pas sur-investir dans une version web complète en V1. Le comportement core (suggestion matinale, upload, log) est fondamentalement mobile. La version web est un bonus pour le profil et les stylistes — pas un produit parallèle.

Section 6.7

Accessibilité

L'accessibilité de BeYourself n'est pas une checklist technique. Elle est directement liée à la promesse produit : être pour tout le monde.

01 Les défis spécifiques à BeYourself

Daltonisme et couleurs : le Visual DNA est fortement basé sur les palettes de couleurs. Pour les utilisateurs avec une déficience de vision des couleurs (8% des hommes), les swatches seuls ne suffisent pas. Chaque couleur doit avoir un label textuel en complément du visuel. "Terracotta rosé" + swatch, pas seulement le swatch.

Diversité corporelle et représentation : les silhouettes présentées dans le questionnaire et les suggestions doivent représenter activement la diversité des morphologies. Une UI qui présente uniquement des mannequins standards crée un sentiment d'exclusion chez 60% des utilisateurs réels — et cela impacte directement la rétention. Ce n'est pas du marketing d'inclusion, c'est de la conception produit intelligente.

Jargon mode : BeYourself est conçu pour des gens qui ne sont pas experts en mode. Les termes comme "col roulé", "silhouette oversized", "coupe évasée" doivent être accompagnés de visuels ou d'alternatives en langage courant. L'accessibilité cognitive s'applique au vocabulaire.

Contraste sur fond sombre : si l'app a un thème sombre (ce que le positionnement suggère), les ratios de contraste WCAG AA doivent être maintenus pour le texte principal (4.5:1 minimum). Les couleurs d'accent (gold, blush) sont jolies mais souvent insuffisantes pour le texte corps.

Taille des zones de tap : les éléments interactifs doivent avoir une zone de tap minimum de 44×44px (guidelines Apple/Google). Les items de la grille dressing et les boutons de choix du matin sont particulièrement exposés à cet enjeu.

Impact business de l'accessibilité : un produit accessible adopte en moyenne 15-20% plus d'utilisateurs qu'un produit inaccessible dans la même catégorie. Pour BeYourself qui vise 80% de la population adulte, exclure les personnes malvoyantes, daltonies ou avec des corps non-standards est une perte de marché directe.

Section 6.8

Frictions
UX

Toutes les frictions ne sont pas mauvaises. Certaines sont des filtres, d'autres des outils de confiance. Seules les frictions toxiques méritent d'être éliminées.

Friction
Mécanique et contexte
Type
Impact churn
Compte obligatoire avant questionnaire
Demander l'inscription avant d'avoir montré quoi que ce soit. Crée un mur d'entrée avant toute valeur perçue. 30-40% des utilisateurs potentiels partent ici.
Toxique
Fatal
Upload "toute ta garde-robe" en onboarding
Demander l'effort complet avant la valeur complète. L'utilisateur perçoit une asymétrie : "Je dois tout faire et je ne sais pas encore ce que ça vaut."
Toxique
Fatal
Permission camera au lancement
Demander la permission camera avant que l'utilisateur ait compris pourquoi il en a besoin. Le contexte manque, le refus est instinctif. Demander uniquement au premier upload.
Toxique
Élevé
Correction manuelle de l'AI analysis
Si l'IA se trompe souvent et que la correction est laborieuse, les utilisateurs arrêtent d'uploader. Doit être rapide (1-2 taps pour corriger le type + couleur) et non-bloquante (item ajouté même incomplet).
Toxique si lent
Élevé
Limite de 50 items (freemium)
L'utilisateur se heurte à la limite juste au moment où son profil devient vraiment intéressant. Friction intentionnelle qui crée la pression de conversion. Fonctionne si le message est positif ("tu as construit une vraie garde-robe intelligente") et non punitif ("limite atteinte").
Utile
Conversion
3 purchase checks/mois gratuits
Crée la rareté perçue et la frustration positive ("j'aurais voulu en faire plus"). Si l'utilisateur utilise ses 3 checks et que le 4ème achat approche → conversion naturelle.
Utile
Conversion
Permission push contextualisée
Demander la permission au bon moment (J1, après la première suggestion) avec une explication claire est une friction nécessaire. La confiance doit être gagnée avant de demander l'accès à l'attention de l'utilisateur.
Nécessaire
Faible si bien timé
Privacy confirmation données émotionnelles
Avant de demander l'humeur du matin, expliquer brièvement que ces données restent locales. Ce n'est pas une friction — c'est un signal de confiance. Les utilisateurs qui comprennent la politique de données partagent des données de meilleure qualité.
Nécessaire
Trust-building
Section 6.9

Optimisations UX

Classées par impact sur les métriques critiques. Toutes chiffrées — pas d'estimation vague.

OptimisationMécanismeImpact attenduPriorité
Questionnaire avant création de compte L'utilisateur vit la valeur (profil_v0) avant d'être bloqué par un formulaire d'inscription. La création de compte devient la continuité d'un investissement déjà consenti, pas un prérequis. +25-35% activation P0 — Immédiat
Upload non-bloquant (image raw immédiate) Afficher l'item avec son image originale dès le tap "ajouter", pendant que le background removal et l'analyse IA se font en arrière-plan. L'utilisateur voit son item ajouté immédiatement — pas un écran de chargement. +40% complétion upload P0 — Fondamental
Rich push notification avec image de l'outfit La notification matinale affiche une preview de la suggestion directement dans la notification (iOS 15+ rich notifications, FCM data messages). L'utilisateur voit sa tenue proposée sans ouvrir l'app — l'ouverture est pour confirmer, pas pour découvrir. +15-20% open rate P1 — V1
Progress bar upload "5 items = nouveau profil insight" Montrer explicitement la récompense attendue pour l'effort demandé. "3 items de plus et tu veras ta palette complète" est plus efficace que n'importe quelle explication textuelle du produit. +30% continuation upload P1 — Onboarding
Micro-insight à Q3 du questionnaire Après la 3ème question, afficher un mini-résultat intermédiaire dans un coin de l'écran ("On commence à te voir..."). Signal que le système t'écoute activement — réduit l'abandon de mi-parcours. +20% completion questionnaire P1 — Onboarding
Widget iOS/Android — Suggestion écran d'accueil Un widget sur l'écran d'accueil du téléphone affichant la suggestion du jour. L'utilisateur n'a pas besoin d'ouvrir l'app — mais son existence quotidienne sur l'écran d'accueil renforce l'identité de BeYourself comme outil permanent, pas occasionnel. +25% DAU sur D30+ P2 — V1
Réponse IA visible pendant l'upload (skeleton animé) Pendant les 5-15 secondes d'analyse, afficher un skeleton de l'item qui se "remplit" progressivement avec les informations détectées (couleur en premier, type ensuite, silhouette en dernier). La perception de vitesse est meilleure avec une progression visible qu'avec un spinner. -30% abandon pendant analyse P1 — UX
Paywall ancré sur la valeur, pas sur la limite Au lieu de "Tu as atteint la limite", afficher "Ton profil est maintenant assez riche pour révéler ta signature complète — débloque-la." L'utilisateur perçoit un investissement à aboutir, pas une punition. +40% conversion paywall P0 — Revenue
Section 6.10

Empty
States

Un empty state est une invitation, pas un constat de vide. Chaque empty state de BeYourself doit pousser vers le comportement qui déverrouille la valeur.

Dressing vide — premier lancement post-questionnaire
Empty
Émotion utilisateur

Curiosité + légère appréhension. Il vient de voir son profil_v0 et il veut le confirmer. L'énergie est haute — il faut la canaliser immédiatement.

Message à transmettre
"Ton profil_v0 te montre déjà qui tu es. Tes premières pièces vont le confirmer — et te surprendre."

PAS : "Ton dressing est vide — ajoute des vêtements."

Action recommandée

CTA unique et contextualisé : "Ajouter ma première pièce" avec la camera ouverte en 1 tap. Pas de choix multiples — une seule direction.

Pas encore de suggestion (moins de 15 items)
Empty
Émotion utilisateur

Impatience mêlée d'anticipation. L'utilisateur attend quelque chose et ne comprend pas pourquoi ça n'arrive pas encore.

Message à transmettre
"Ta première suggestion arrive dans [X] pièces. Chaque item ajouté la rend plus précise."

Barre de progression visible : 8/15 items. Le goal est visible et atteignable.

Rôle dans l'activation

Transforme un état de frustration en motivation. L'utilisateur upload plus pour débloquer la fonctionnalité — behavior loop intentionnel.

Journal vide — moins de 7 logs
Empty
Émotion utilisateur

Curiosité pour le futur. L'utilisateur comprend le concept du journal mais n'a pas encore de données pour le remplir.

Message à transmettre
"Ton histoire de style commence aujourd'hui. Dans 30 jours, tu verras quelqu'un que tu ne soupçonnes pas encore."
Rôle dans la rétention

Pose la promesse d'une valeur future — reason to return. L'utilisateur sait que dans 30 jours l'expérience sera différente. C'est suffisant pour revenir.

Profil "en construction" — moins de 20 items analysés
Empty
Émotion utilisateur

Frustration potentielle. Il a vu son profil_v0 et maintenant il voit "profil incomplet". Il perçoit un recul par rapport à ce qu'il avait.

Message à transmettre
"Ton profil se précise à chaque pièce ajoutée. Ce que tu vois déjà est réel — ce qui arrive ensuite est plus riche encore."
Piège à éviter

Ne jamais montrer un profil vide ou avec des trous béants. Le profil_v0 doit toujours être visible — les nouvelles données l'enrichissent, ne l'effacent pas.

Section 6.11

Error
States

Le ton des erreurs définit la personnalité du produit. BeYourself est bienveillant — même ses erreurs doivent l'être.

Analyse AI échouée — item non analysé
Erreur système
Comportement produit

L'item est ajouté au dressing même sans analyse complète. Il est visible avec un badge "en attente d'analyse". Pas d'échec visible — la fonctionnalité est dégradée, pas absente.

Message
"On finalise l'analyse de cette pièce — elle apparaîtra complète dans quelques instants."

PAS : "Erreur d'analyse. Réessayez."

Recovery

Cloud Task retry automatique (3 tentatives). Si échec définitif → invite à retaker la photo ou à saisir manuellement. La pièce n'est jamais perdue.

Connexion perdue pendant l'upload
Erreur réseau
Comportement produit

L'upload reprend automatiquement dès la reconnexion (Firebase Storage resumable uploads). L'utilisateur voit une progress bar qui "reprend" — pas un échec avec redémarrage.

Message
"Connexion retrouvée — on reprend là où on s'était arrêtés."
Aucune donnée perdue

La photo est conservée localement pendant l'absence de connexion. Le cache local est la garantie que l'utilisateur ne re-photographie jamais quelque chose déjà fait.

Paiement refusé
Erreur paiement
Comportement produit

Accès premium maintenu 72h après l'échec initial. L'utilisateur n'est pas puni immédiatement — il a le temps de résoudre le problème sans stress.

Message
"Un problème avec ton paiement — pas d'inquiétude, ton accès est maintenu quelques jours. Mets à jour ta carte quand tu peux."
Tone

Jamais culpabilisant, jamais urgent. Le produit fait confiance à l'utilisateur. Cette bienveillance est différentielle dans un marché où les apps coupent l'accès instantanément.

Image illisible pour l'IA (photo trop sombre / floue)
Erreur utilisateur
Comportement produit

L'item est quand même ajouté. La qualité d'analyse est signalée visuellement (badge "analyse partielle") mais l'upload n'est pas bloqué.

Message
"Cette photo fonctionne — une photo mieux éclairée nous permettrait d'être encore plus précis sur les couleurs et les textures."
Tone

Suggestion, jamais obligation. L'utilisateur peut retaker ou pas — son choix est respecté. L'app n'est pas bloquante sur la qualité d'image.

Section 6.12

Loading
States

La perception de la vitesse est plus importante que la vitesse réelle. Un chargement de 8 secondes avec une progression visible est mieux vécu qu'un de 3 secondes sans feedback.

Analyse AI d'un item
Skeleton progressif · 10-25s

Problème : 10-25 secondes de traitement si spinner = expérience d'attente pure. L'utilisateur ne sait pas si ça avance.

L'item apparaît immédiatement avec son image brute. Un skeleton animé se remplit progressivement : d'abord la couleur dominante, ensuite le type, ensuite la silhouette. Chaque information qui arrive est une micro-récompense.

Copy micro : "Analyse des couleurs..." → "Identification de la coupe..." → "Correspondance avec ton profil..." Chaque étape est nommée — l'IA ne fait pas de magie noire, elle travaille visiblement.

Suggestion matinale (fallback temps réel)
Skeleton card · <3s

Idéal : pré-calculée la nuit → 0 ms de chargement. Fallback : calcul en temps réel si le pré-calcul a échoué. Dans ce cas, skeleton de la card de suggestion (forme de 3 items côte à côte) pendant 1-3 secondes maximum. Jamais un spinner blanc.

La card apparaît d'un coup (animation fade-in douce) une fois complète — jamais un remplissage partiel qui donne l'impression que le système "cherche encore".

Purchase alignment check
Cinematic progress · 5-10s

L'utilisateur attend le verdict d'un achat potentiel — le chargement est émotionnellement chargé. Il faut que l'attente soit narrative, pas vide. L'image de la pièce candidate est affichée pendant que les données se calculent.

Micro-copy progressif : "Comparaison avec tes couleurs..." → "Vérification des silhouettes..." → "Analyse des combinaisons possibles..." Ce texte prépare mentalement l'utilisateur au type d'information qu'il va recevoir — et rend l'attente instruite, pas passive.

Génération du Style Wrapped
Reveal dramatique · 3-5s

C'est un moment émotionnel fort — comme ouvrir un cadeau. Le chargement doit être conçu comme une révélation : un écran sombre avec l'animation de "génération" (données qui s'assemblent visuellement), puis le reveal de la première carte en plein écran.

L'attente n'est pas une friction — elle est de l'anticipation construite. Les 3-5 secondes de "génération" rendent le résultat plus précieux qu'un affichage instantané. C'est de la UX émotionnelle délibérée.

La règle des loading states de BeYourself : si le chargement dure plus de 500ms, montrer un skeleton. Si plus de 3 secondes, nommer les étapes. Si plus de 10 secondes, transformer l'attente en narration. Jamais de spinner blanc sans contexte au-delà de 2 secondes.

5user journeys documentés
8frictions analysées et catégorisées
+40%gain activation estimé optimisations P0
0spinners blancs sans contexte tolérés