Un rituel, pas une appli de notes. Une donnée d'âme, pas un profil publicitaire.
Le concept est fort et l'art des créatures est ton meilleur atout. Ce qui date, c'est la coquille : trois langages visuels qui se télescopent, une incohérence clair/sombre, une navigation qui se perd, des assets de 4 Mo. Ce document sépare ce qui tient de ce qui casse, pose une direction artistique unique, remet le rituel d'entrée à la hauteur de son rôle narratif, et rassemble un arsenal open-source pour reconstruire, en procédural quand c'est possible.
Toute décision de design en découle. Une proposition qui contredit un de ces piliers est écartée, même si elle « convertit » mieux.
Le questionnaire n'est pas une étape avant l'app : c'est le rite d'entrée dans le monde, comme un test astro ou MBTI. On ne le raccourcit pas pour « réduire la friction » : on l'élève. L'expérience se vit, elle ne se traverse pas.
La donnée d'âme se construit par les choix actifs de l'utilisateur, jamais par un algorithme externe. On ne branche pas Spotify/Insta pour « deviner qui tu es » : ce serait la bulle de filtre qu'on combat. Tu choisis ce que tu es.
Une app d'introspection sur le « moi », pas une machine à engagement ni un dating déguisé. Elle va vers l'intérieur, pas vers l'extérieur. Pour certains ce sera lent, et ce ne sont pas les bons utilisateurs.
Pas des icônes : des entités du lore. On les adopte, on tisse un lien, ils éclosent, ils peuvent fuguer, disparaître, avoir des interactions étranges. Leurs valeurs d'énergie nourrissent le dialogue passé/futur.
Le social existe mais en basse intensité : résonance d'ambiance, anonyme, sans feed ni match. On ne pousse pas à collectionner des liens. La subjectivité et les limites personnelles sont le sujet.
La cohérence de l'univers prime sur la croissance. Pas besoin que tout le monde aime : il suffit que le monde tienne debout, même un peu étrange. Une app de niche, pleinement.
Conséquence design : chaque écran doit renforcer l'impression d'entrer dans un monde clos et cohérent. Le moindre élément « générique » (carte Material par défaut, blob flou, collage hors-univers) casse le sortilège, et donc casse le produit.
L'audit visuel est net : les créatures et les œufs sont d'un vrai niveau : verre iridescent, cohérence chromatique, présence. Le « moche » vient de tout ce qu'il y a autour. Ces quatre piliers sont l'ADN à préserver.
Œuf → alien, chaque élément avec sa personnalité visuelle. Art fort et déjà distinctif, le cœur affectif du produit et le pont avec le film.
32 combinaisons émotionnelles (check-in à 5 axes) × 5 variantes = 160 morceaux curatés (titre, BPM, accords), plus la génération. Un système rare et cohérent avec l'introspection.
Une progression collectible qui donne une raison de revenir sans logique d'engagement toxique : le lien se mérite dans le temps.
Écrire à son moi futur, revisiter son passé. Rituel introspectif multimodal (texte, voix, image, musique) : la boucle centrale, à raffiner, pas à jeter.
Huit teintes iridescentes, majoritairement froides, avec le feu comme unique contre-accent chaud. C'est ton système de couleur natif : il faut le formaliser en tokens, pas le réinventer.
Ce que la visite de l'app a révélé, classé par gravité. Le fil rouge : une belle matière première emballée dans une coquille sous-produite et incohérente.
Créatures glassy haut de gamme + « blobs » flous en guise de cartes + collage grunge d'astronautes (splash, boutique). Trois univers étrangers cohabitent : l'œil ne sait plus quel monde il regarde.
Home et dialogue en noir cosmique ; profil, composeurs, musique en cartes blanches. Passer de l'un à l'autre en un tap brise l'immersion : le sortilège tombe.
Les cartes-réponses du questionnaire sont de simples halos flous sans structure ; le héros « SoulMatrix » est une forme noir-sur-noir illisible ; des fonds sont de plats ovales blancs. Ces composants trahissent l'ambition de l'art.
Le retour navigateur et le rechargement désynchronisent URL et vue. Pas de navigation persistante, pas de menu : les features majeures sont enfouies derrière des icônes sans libellé et une scène 3D.
Le vrai reproche n'est pas la durée, c'est le manque de mise en scène. Un rite d'adoption mérite mieux que des cartes floues et une barre de progression anxiogène. ~6 questions théâtralisées valent mieux que N questions plates.
4,3 Mo par alien, 3,3 Mo pour le splash, PNG partout. Chargement lourd pour aboutir à une UI de la taille d'un téléphone sur desktop. C'est précisément là que le procédural (vecteur, shader, Rive) change tout.
Canevas mobile figé centré dans un océan de marges ; zoom bloqué (user-scalable=no) ; contrastes faibles (gris sur noir) ; rendu 100 % canvas sans sémantique pour les lecteurs d'écran.
Métadonnées Flutter par défaut (« startup_app », favicon générique) alors que la marque in-app est soignée. Détails qui trahissent le beta.
Une seule loi visuelle, tenue partout. Le vide profond comme scène, le verre iridescent comme matière, l'aura violet→cyan comme signature, la lumière comme récompense. On bannit le collage grunge et le mode clair.
Verre translucide, bord lumineux fin, halo iridescent contenu, texte à contraste réel. La profondeur naît de la lumière, pas d'ombres portées lourdes.
Energie · Ombre AdopterCet œuf qui respire est dessiné en CSS pur, zéro image. C'est la démonstration du pilier procédural : ce que tu chargeais en 4 Mo peut vivre en quelques lignes, animé et net à toute taille.
Vide bleu-violet (pas un noir pur), verre translucide, aura violet→cyan en signature, feu comme unique chaleur. La couleur d'accent d'un écran = l'élément de ton alien.
Trois voix, pas six polices : un display sobre et large pour les titres, un texte lisible et calme, une mono technique pour l'heure, les données d'énergie, les libellés rituels. La mono porte le côté « instrument ».
Glassmorphism cohérent (flou + bord 1px lumineux), halos radiaux contenus, grain fin universel pour souder les aplats, aucune ombre « Material ». La lumière est la seule récompense.
Ambiance qui respire (nébuleuse, particules lentes), micro-interactions tactiles, et un grand moment orchestré : l'éclosion. Jamais d'animation gratuite. prefers-reduced-motion respecté.
Un seul jeu d'icônes au trait, cohérent et labellisé au premier lancement. On abandonne les « boutons verre » disparates au profit d'une grammaire unique.
Fonds, auras, œufs, particules, la « matrice » 3D : générés (Canvas/WebGL/shader/Rive), pas des PNG. Les créatures restent en art rendu, mais exportées en Rive/sprite optimisé, pas en 4 Mo.
Objectif : plus immersif, pas plus court. On garde ~6 questions, mais chacune devient une scène. On ne demande rien d'administratif avant la récompense. La donnée d'âme naît des choix, jamais d'un verdict imposé.
Le film t'a amené ici. Un plan noir, une voix, une lumière lointaine : tu entres dans le monde.
Un œuf réagit à ta présence (tap, souffle micro, gyroscope). Rien à remplir : juste un contact.
Une question par écran plein. Chaque réponse fait réagir l'univers (couleur, son, particules).
Plusieurs éléments te correspondent. On te le montre visuellement, sans score froid.
Tu adoptes activement ton alien parmi ceux qui résonnent. Tu n'es pas assigné : tu décides.
Le moment cinématique. L'œuf s'ouvre. Le lien commence. C'est la première mémoire partagée.
Tu nommes ton alien et le monde. Le compte se crée ici, après le don, jamais avant.
Ta stack est Flutter. La plupart des libs « à la mode » sont React : elles servent de référence visuelle ou pour un éventuel web, pas d'import direct. Ci-dessous, chaque ressource est étiquetée pour éviter le piège. Priorité au procédural, puisque tu recréeras les assets en HTML / Python.
Le levier n°1. Animer les aliens et générer la « matrice » sans images lourdes. Rive tourne nativement en Flutter : c'est ton pont pour des créatures qui bougent, éclosent, réagissent.
Animation vectorielle temps réel, state machines. Runtime Flutter officiel. L'outil pour faire vivre œufs et aliens (éclosion, fugue, humeurs) en Ko, pas en Mo.
3D interactive dans le navigateur, export web/temps réel. Idéal pour reconstruire la « matrice de l'âme » en objet 3D lisible et vivant plutôt qu'un PNG noir.
Le standard WebGL. Nébuleuses, particules, verre, la matrice 3D. Base pour un site/film compagnon et pour prototyper les shaders.
Apprendre les fragment shaders (bruit, iridescence, aura). Flutter lit des shaders .frag via Impeller : réutilisable directement dans l'app.
Milliers de shaders open à disséquer : nébuleuses, plasma, verre. Banque d'effets pour le fond ambiant et les auras.
Micro-interactions et enchaînements d'animation en Flutter, syntaxe simple. Pour les transitions rituelles et les états vivants.
Ton plan : recréer les visuels en HTML/CSS/Canvas ou en Python. Pipeline conseillé : générer en procédural → exporter en Rive/Lottie/sprite/shader → intégrer en Flutter. Léger, net, animable, et cohérent.
Croquis génératifs rapides (particules, champs de bruit, constellations). Parfait pour prototyper le fond ambiant et la métaphore de progression du rite.
2D WebGL ultra-rapide : nuées de particules, auras, effets de verre pour un web compagnon ou l'export de séquences.
Génération d'images par script Python (gradients, bruit, textures d'œufs, cartes d'aura) en batch reproductible. Le cœur de ton pipeline Python.
Rendre les 8 œufs/aliens par script, en série, avec un look verre cohérent et des exports optimisés (sprites, tournettes) au lieu de 4 Mo par vue.
Si un site/film compagnon en web : three.js déclaratif, matériaux verre et transmission prêts à l'emploi pour l'univers.
Quand une image reste indispensable : compresser en AVIF/WebP. Diviser par 10 le poids des rares assets rasterisés conservés.
Ces librairies React montrent le langage d'animation viser (reveal, magnétisme, halos). On les regarde, on reproduit l'intention en Flutter (flutter_animate / Rive).
La référence d'animation web/JS. Courbes, gestes, layout animations. Le manuel mental des transitions du rite.
Composants animés prêts (texte qui apparaît, morphing, tilt). Banque d'idées pour les écrans-questions plein cadre.
Effets « waouh » (aurora, particules, gradients animés) très proches de ton univers. À imiter pour le fond ambiant.
Composants expérimentaux et physiques : idéal pour la sensation « matière vivante » des aliens.
Aurora backgrounds, spotlight, verre. Exactement la grammaire glass-on-void, à traduire, pas copier.
Effets de particules, meteors, shimmer. Bibliothèque d'ambiances cosmiques à reproduire.
Pour la grammaire (espacements, états, focus, tokens). En Flutter, viser les ports type shadcn ; en réf, la rigueur de Radix / React Aria pour l'accessibilité qui manque aujourd'hui.
Composants Flutter minimalistes façon shadcn : base propre pour reconstruire le chrome (cartes, champs, sliders) avec cohérence.
Port Flutter du langage shadcn. Système de tokens et composants sobres, l'antidote aux « blobs ».
La référence de comportement accessible (focus, clavier, états). À imiter dans tes widgets custom.
Modèles d'accessibilité de référence (Adobe). Guide pour rendre l'app utilisable au clavier/lecteur d'écran.
Éditeur visuel de thèmes/tokens. Pour figer ta palette 8-éléments en variables et l'exporter proprement.
Trouver le trio display / texte / mono cohérent (à self-host, jamais en CDN). Réduire tes 3 polices actuelles qui jurent à un système voulu.
Le son est central (cosmic radio, émotion→musique). Et un jeu d'icônes unique remplace les « boutons verre » hétérogènes.
Composants d'interface audio/musique (players, waveforms, voix). Réf directe pour le studio et la radio.
Audio génératif/interactif dans le navigateur : prototyper des ambiances sonores réactives au rite avant portage.
Banque sonore Creative Commons : nappes, textures, drones pour le seuil et l'éclosion.
Lecture audio robuste en Flutter (gapless, streaming). Socle propre pour cosmic radio et les 160 morceaux.
Jeu d'icônes au trait, cohérent et libre. Package Flutter dispo. Base d'un système d'icônes labellisées.
Alternative d'icônes flexible (poids variables) si un trait plus fin colle mieux au verre. Package Flutter dispo.
Pour caler le niveau « cinéma » avec ton designer londonien. Mobbin surtout : patterns mobiles réels, ton terrain.
Bibliothèque de parcours mobiles réels. La meilleure source de patterns d'onboarding et de navigation.
Le haut du panier du web éditorial et sombre. Pour la barre esthétique et le site/film compagnon.
Démos WebGL/transitions à la pointe. Mine d'idées pour l'ambiance et l'éclosion.
Galerie 100 % sombre. Utile puisque ton monde est mono-thème dark assumé.
Références d'animation narrative et cinématique. Pour le seuil et les transitions rituelles.
Expériences immersives primées. La bonne altitude pour un univers-film interactif.
Pour cadrer le process design, et surtout ancrer techniquement le pilier anti-big-data.
Spécifier une direction design en un document vivant, versionnable. Le squelette de ce dossier, en continu.
Guides open sur les fondamentaux de design d'interface. Base commune avec ton designer.
Le pilier P2 rendu technique : la donnée d'âme vit d'abord côté utilisateur. Anti-big-data par l'architecture, pas seulement par le discours.
Collection de méthodes/prompts design. Piocher des cadres de critique pour itérer vite.
La liste source (celle de ta co-créatrice). Le catalogue complet dont ce dossier extrait l'utile pour Soul Matrix.
Composants CSS libres (boutons, cartes, loaders) à décortiquer pour du chrome procédural léger.
La règle est ciblée : la génération d'image (le « miroir ») et de musique ne passe par aucune IA externe, ni Midjourney, ni DALL·E, ni Suno. C'est le pilier anti-big-data rendu concret : la matière de l'âme ne part pas dans le cloud d'un tiers. Deux pistes, dans cet ordre.
Aucun modèle. On génère par le code : shaders, bruit, systèmes de particules pour l'image ; théorie musicale, séquenceurs et soundfonts pour le son. Le plus léger, le plus sûr, le plus cohérent avec un monde fait main. À privilégier partout où c'est suffisant.
Si le génératif « riche » est vraiment voulu : des modèles ouverts que tu héberges sur ta propre machine. Souverain, hors-ligne possible, aucune donnée qui fuit. Ce n'est pas « sans IA » : c'est « sans IA externe ».
| Fonction | Piste A : procédural (0 ML) | Piste B : souverain (auto-hébergé) |
|---|---|---|
| Image « miroir » | Shaders GLSL + bruit + collage génératif à partir des propres médias de l'utilisateur ; filtres p5/WebGL. L'image devient une signature de tes choix, pas une image de stock. | Stable Diffusion (SDXL/SD3, poids ouverts) via ComfyUI ou Fooocus, sur ton GPU. LoRA entraînée sur ton propre univers pour un style maison. |
| Musique | Moteur émotion → musique déjà en place (32 combi × 160 pistes) + génératif algorithmique (Tone.js, Sonic Pi, Pure Data, soundfonts FluidSynth). Musique de règles, jamais de cloud. | MusicGen / AudioCraft ou Stable Audio Open auto-hébergés. Rendu asynchrone côté serveur souverain, jamais une API tierce. |
| Voix (cosmic radio) | eSpeak-NG (synthèse formant) pour une voix « machine » assumée, 100 % locale et minuscule. | Piper (rapide, local) ou Coqui XTTS pour une voix neurale de qualité, exécutés sur ta machine. |
| Texte d'ouverture | Banque de gabarits écrits à la main, tirage pondéré par l'élément/énergie. Cohérent avec « tu choisis qui tu es », pas un LLM qui parle à ta place. | Petit LLM local (llama.cpp/Ollama) seulement si nécessaire, sinon s'en passer sert mieux la philosophie. |
Recommandation : viser la piste A pour le lancement (léger, offline, zéro coût d'infra), garder la piste B en option pour les utilisateurs qui veulent du génératif riche, sur ton infra, jamais ailleurs.
L'analyse de ressources élargie, organisée par couche d'architecture, de l'app au GPU. Tout est open-source ; les libs React servent de référence, les équivalents Flutter sont marqués Flutter · direct.
Impeller lit des fragment shaders .frag : l'iridescence, l'aura et le fond nébuleux vivent dans le moteur de rendu, pas en PNG.
Le socle actuel, à conserver. Un seul codebase mobile + web.
Shaders GLSL natifs dans Flutter : auras, verre, nébuleuse, sans image.
Moteur 2D/particules Flutter : parfait pour les interactions vivantes des aliens (fugue, humeurs).
Micro-interactions et enchaînements d'animation, syntaxe concise.
Une grammaire unique glass-on-void, des tokens versionnés, un atelier de composants pour tenir la cohérence avec ton designer.
Composants Flutter minimalistes façon shadcn : base propre du chrome.
Port Flutter du langage shadcn : tokens + composants sobres.
Le « Storybook » de Flutter : catalogue vivant de composants, revue design partagée.
Générer thème Dart, CSS, Figma depuis une seule source de tokens (tes 8 éléments).
Jeu d'icônes au trait, cohérent, libre. Package Flutter dispo.
Polices libres à self-host (jamais en CDN). Pour figer ton trio display/texte/mono.
Le levier n°1. Rive tourne nativement en Flutter : créatures animées, éclosion, fugue, en Ko.
Animation vectorielle + state machines, runtime Flutter officiel. Le pont pour des aliens vivants.
3D interactive : reconstruire la « matrice de l'âme » lisible et vivante.
WebGL standard pour un site/film compagnon et le prototypage shaders.
Apprendre l'iridescence/bruit en GLSL, réutilisable direct dans Flutter.
Générer en procédural → exporter en Rive/sprite/shader → intégrer en Flutter. Reproductible, léger, cohérent.
Rendre les 8 œufs/aliens par script, en série, look verre cohérent, exports optimisés.
Textures d'œufs, cartes d'aura, gradients par script Python en batch.
Croquis génératifs (constellations, champs de bruit) pour fonds et progression du rite.
GLSL en Python : rendre des séquences shaders en assets, hors ligne.
Quand une image raster reste nécessaire : diviser le poids par ~10.
Le moteur émotion→musique existe déjà. On l'enrichit par du génératif algorithmique (piste A) ; la piste B reste sur ton GPU.
Lecture robuste (gapless, streaming) en Flutter : socle cosmic radio + 160 pistes.
Musique générative interactive (web) : prototyper des ambiances réactives au rite.
Composition algorithmique par le code : générer des variantes sans aucun ML.
Moteur DSP embarquable dans l'app : synthèse générative embarquée, offline.
Piste B : génération musicale par modèle ouvert, auto-hébergé sur ton GPU.
Voix neurale locale pour la cosmic radio : rapide, souveraine, hors-ligne.
Le « miroir » sans API tierce. Piste A par défaut ; piste B si tu veux du photoréaliste, sur ta machine.
Banque de shaders : générer l'image « miroir » comme une aura procédurale unique.
Pipeline Stable Diffusion en nœuds, auto-hébergé. Contrôle total, API locale.
SDXL clé en main, simple à héberger. Bon point de départ souverain.
Studio SD complet auto-hébergé, gestion de modèles/LoRA pour un style maison.
Supabase est open-source et auto-hébergeable. Pour un indie local-first, PocketBase est un candidat sérieux (un seul binaire).
Garder l'existant mais l'héberger toi-même : Postgres + RLS + Auth + Storage.
Backend en un binaire Go (SQLite, auth, realtime, storage). Idéal local-first et niche.
Couche data/headless souple sur ta base, si besoin d'un back-office.
API REST auto-générée depuis Postgres (ce que Supabase utilise déjà).
La donnée d'âme vit d'abord sur l'appareil. La sync devient un détail, pas le centre. Anti-bulle par l'architecture.
SQLite typé et réactif pour Flutter : la mémoire locale du soul matrix.
Base NoSQL locale ultra-rapide pour Flutter, alternative à SQLite.
Sync local-first sur Postgres, résolution de conflits. Offline-first natif.
Sync SQLite ↔ Postgres avec SDK Flutter. Bon compromis pour garder Supabase.
CRDT pour des données qui fusionnent sans serveur autoritaire. Souveraineté maximale.
Chiffrement de la base locale et des secrets : la donnée d'âme reste privée, même sur l'appareil.
Cohérent avec le lien faible anonyme : l'identité forte est optionnelle. Passkeys pour éviter les mots de passe.
Auth self-host déjà en place. Activer la vérification email, désactiver l'auto-confirm.
Connexion sans mot de passe (déjà amorcé dans l'app). À finaliser côté serveur.
Système d'identité open, si tu quittes GoTrue pour plus de contrôle.
IdP auto-hébergés complets, alternatives souveraines à Auth0.
Les médias (photos, audio, œufs) hébergés souverainement, servis légers.
S3 compatible auto-hébergé : le stockage média sous ton contrôle.
Stockage objet distribué léger, pensé auto-hébergement modeste.
Redimensionnement/format à la volée (AVIF/WebP) : servir léger sans stocker 10 tailles.
Placeholders flous minuscules : chargement élégant sans écran vide.
Remplacer Vercel par un PaaS auto-hébergé ; réserver le GPU aux pistes B (image/musique souveraines).
PaaS auto-hébergé (le « Vercel/Heroku chez toi ») : déployer app web, back, services.
Reverse-proxy avec TLS automatique pour tes services souverains.
Infra-as-code souveraine (fork Terraform), provisionnement reproductible.
Orchestration légère pour héberger back, GPU workers (ComfyUI, MusicGen).
Mesurer sans pister, notifier sans Google/Apple qui lisent tout, parler la langue de l'utilisateur.
Analytics privacy-first avec SDK Flutter, auto-hébergeable. Mesurer sans profiler.
Push souverain sans dépendre entièrement de FCM/APNs. Notifs d'ambiance discrètes.
Suivi d'erreurs compatible Sentry, auto-hébergé. Qualité sans télémétrie tierce.
i18n type-safe pour Flutter (l'app a déjà un champ langue). Weblate pour gérer les traductions.
Automatiser build/tests, verrouiller le rendu visuel (golden tests), tester les parcours réels.
Git + CI auto-hébergés, souverains, pour builds et tests.
Tests E2E des parcours (rite d'entrée, éclosion) sur device réel.
Verrouiller l'apparence des composants : plus de régression visuelle silencieuse.
Automatiser signature et publication stores (iOS/Android).
Deux tracks de dev avancent en parallèle et se rejoignent à des jalons de convergence. Aucun déploiement ici : on développe en local, le packaging et l'envoi vers le serveur se font tout à la fin, hors roadmap. La contrainte « sans IA externe » (image & musique) est portée par le Track B.
Tokens, composants verre, icônes uniques, typo self-host, shell de nav à 5 pôles. Un seul monde sombre.
→ J1 avec B1Nébuleuse en shader partagée, micro-interactions, un seul grand moment : l'éclosion. Reduced-motion respecté.
Pipeline procédural + Blender → Rive : 8 œufs/aliens animés (idle, humeurs, éclosion) en Ko, plus de PNG 4 Mo.
→ J2 avec B3Les 7 temps en cérémonie, une question par écran plein, univers réactif. Immersif, pas court.
UI des 5 pôles : Aujourd'hui, Dialogue, Studio, Alien, Toi.
→ J3 avec B4/B5Résonance anonyme : fragments d'âme sans profils, sans likes, sans match.
→ J4 avec B2/B6Corriger la désynchro URL/vue, poser navigation, state management, structure, tests de base.
→ J1 avec A1Base locale chiffrée, modèle de données de l'âme, sync secondaire. Pilier anti-big-data, technique.
Questionnaire → résonance → choix actif de l'alien → type. Date optionnelle, anonyme par défaut.
→ J2 avec A3/A4Check-in 5 axes → 32 combinaisons → lecture des 160 pistes. Cosmic radio.
→ J3 avec A5Miroir image (shaders/collage), musique générative (Tone.js/Pure Data), voix (eSpeak/Piper). Local d'abord ; modèle ouvert auto-hébergé en option.
Messages passé/futur, énergie de l'alien qui évolue, texte d'ouverture par banque de gabarits.
→ J4 avec A6| Jalon | Track A | Track B | Résultat |
|---|---|---|---|
| J1 | A1 design system | B1 architecture | Un écran vertical de bout en bout, dark et routé |
| J2 | A3 bestiaire + A4 rite | B3 logique du rite | Le rituel d'entrée jouable (adoption + éclosion) |
| J3 | A5 écrans + Studio | B4 musique + B5 génération | Création multimodale fonctionnelle, sans IA externe |
| J4 | A6 place ambiante | B2 data + B6 dialogue | Noyau introspectif + social en lien faible anonyme |
Détail séquencé · référence (mono-fil)
Verrouiller la stack (Flutter conservé), trancher self-host vs Supabase managé, initialiser le dépôt, la CI et l'atelier de composants. Écrire les tokens des 8 éléments comme source unique.
Un seul monde sombre. Composants verre, navigation à 5 pôles labellisée, jeu d'icônes unique, trio typographique self-host, fond nébuleux en shader partagé. On supprime les écrans blancs et le routing incohérent.
Pipeline Blender → export → Rive : les 8 œufs/aliens animés (idle, humeurs, éclosion) en Ko. On retire les PNG de 4 Mo. La « matrice de l'âme » repensée en objet lisible (Spline/shader).
Les 7 temps (seuil → éclosion → nom), une question par écran plein, univers réactif, progression métaphorique. Identité créée après le don. Aucune donnée administrative avant la récompense.
Dialogue passé/futur, journal (private_entries), valeurs d'énergie de l'alien. La donnée d'âme vit d'abord sur l'appareil, chiffrée. La sync est secondaire : pilier anti-big-data rendu technique.
Le moteur émotion→musique (32 combi / 160 pistes) raffiné, enrichi par du génératif algorithmique (piste A). Lecture audio robuste. La piste B (MusicGen) reste optionnelle, sur ton GPU.
Le « miroir » génère une image comme aura procédurale (shaders + médias propres de l'utilisateur). Voix de la radio en synthèse locale. Option souveraine (SD auto-hébergé / Piper) pour aller plus loin.
L'interaction mirror devient un espace de résonance ambiant : on croise des fragments d'âme sans profils, sans likes, sans match. Présence sans pression : le social introverti, pas un feed.
Backend self-host, sync local-first, stockage média chez toi, workers GPU pour les pistes B. Toute la donnée d'âme sous ton contrôle. C'est la promesse anti-big-data, tenue par l'infra.
Golden tests, E2E des parcours, a11y, i18n, analytics privacy-first. Alignement avec le film et la marque : store, page d'univers, distribution. Le monde tient debout, prêt à accueillir.
Le geste central de la v2 tient en une phrase : remplacer le PNG par le procédural, le formulaire par la cérémonie, et l'IA externe par ton propre atelier. Cohérence sombre, navigation, tokens et souveraineté servent ces trois mouvements.