Case studyCase study
MyDidMyDid
Application mobile d'identité numérique et de badges décentralisés, avec messagerie sécurisée. Publiée sur iOS et Android.Mobile app for digital identity and decentralized badges, with secure messaging. Live on iOS and Android.
RôleRole Mobile DeveloperMobile Developer
DuréeDuration Depuis juillet 2024Since July 2024
Case studyCase study
Le problèmeThe problem
MyDid construit une identité numérique et une communauté autour de badges décentralisés, d'une messagerie sécurisée et d'un produit qui pivote souvent. L'enjeu mobile : livrer des parcours Web3 utilisables, sans que la complexité blockchain ou 3D rende l'app illisible.MyDid is building digital identity and community around decentralized badges, secure messaging, and a product that pivots often. The mobile challenge: ship usable Web3 flows without letting blockchain or 3D complexity get in the way.
Mon rôleMy role
Mobile Developer dans l'équipe produit, à Aix-en-Provence. Je développe les fonctionnalités Flutter iOS/Android, les parcours Web3, la messagerie et les interfaces avancées, en lien direct avec le design et le produit.Mobile Developer on the product team in Aix-en-Provence. I build the Flutter iOS/Android features, Web3 flows, messaging, and advanced UI, working directly with design and product.
Mes choix techniquesTechnical choices
Flutter et Dart pour un seul code iOS/Android, avec un cycle de vie complet jusqu'aux stores. BLoC pour le state : prévisible, testable, et déjà le standard de l'équipe. Nostr pour la messagerie décentralisée plutôt qu'un backend propriétaire. Shaders et Three.js quand un rendu 3D apporte vraiment un différenciant visuel, pas par défaut.Flutter and Dart for one iOS/Android codebase, through to store release. BLoC for state: predictable, testable, and already the team standard. Nostr for decentralized messaging instead of a proprietary backend. Shaders and Three.js only when 3D actually differentiates the product.
Les défisChallenges
Deux sujets concrets. D'abord les pivots produit : chaque refonte UI/UX s'empile sur la précédente, donc il faut livrer sans figer une dette impossible à reprendre. Ensuite Web3 et Nostr : transactions, wallets et messagerie décentralisée doivent rester compréhensibles, avec des états d'erreur et de sync clairs. Les shaders et l'intégration 3D demandent aussi de surveiller le rendering pipeline pour ne pas casser les perfs.Two real problems. First, product pivots: each UI/UX rewrite stacks on the last one, so you ship without locking in debt you cannot unwind. Second, Web3 and Nostr: transactions, wallets, and decentralized messaging have to stay understandable, with clear error and sync states. Shaders and 3D also mean watching the rendering pipeline so performance does not fall over.
RésultatsResults
L'application est publiée sur l'App Store et le Play Store. Fonctionnalités livrées : parcours Web3 (transactions, blockchain, wallets), messagerie décentralisée Nostr, interfaces 3D et shaders, et plusieurs refontes UI/UX majeures.The app is live on the App Store and Play Store. Shipped: Web3 flows (transactions, blockchain, wallets), Nostr decentralized messaging, 3D UI and custom shaders, and several major UI/UX redesigns.
Ce que j'amélioreraisWhat I would improve
Je documenterais plus tôt les couches qui survivent aux pivots, pour limiter la dette à chaque refonte. Sur le Web3, je pousserais encore les états vides et les erreurs métier : c'est ce qui décide si un utilisateur non-crypto reste. Je n'ai pas de chiffres d'usage publics à afficher ici.I would document earlier which layers should survive pivots, to limit debt on each redesign. On Web3, I would push empty and error states further: that is what decides whether a non-crypto user stays. I do not have public usage numbers to show here.