Tous les case studies
Payback
Dynamique des performances et architecture UI partagée
Optimisation des performances, architecture UI partagée entre web et mobile, et services backend événementiels pour les mises à jour temps réel.
Contexte
L’application devait gagner en réactivité, harmoniser ses interfaces web et mobiles et mieux prendre en charge les mises à jour temps réel.
Responsabilités
- Améliorer les performances des interactions les plus sensibles.
- Structurer une architecture UI commune au web et au mobile.
- Développer des services backend capables de diffuser des mises à jour temps réel.
Problèmes adressés et solutions apportées
Optimisation des performances de l'application mobile
- Problème
- Certaines interactions prenaient entre une et deux secondes, affectant l'expérience utilisateur.
- Solution
- Fort de mon expérience chez Jellysmack, j'ai analysé les chemins d'exécution critiques et mis en œuvre des optimisations pour réduire les temps de réponse. Passant des logiques UI en UI thread, et retravaillant les rendus forcé côté React Native pour améliorer la fluidité et la réactivité de l'application.
- Effet
- Les interactions critiques ont été ramenées à moins de 300 ms, améliorant significativement la réactivité de l'application.
Ebauche Architecture UI partagée entre web et mobile
- Problème
- L'équipe de développment étant petite (1 CTO + 1 dev), les interfaces web et mobile manquaient d’une fondation commune, entraînant des incohérences et des difficultés de maintenance.
- Solution
- En étroite collaboration avec le CTO et le design, j'ai conçu seul et mis en oeuvre une ébauche de design system partagé, permettant de réutiliser les composants UI entre les plateformes web et mobile via Styled components, assurant ainsi une cohérence visuelle et fonctionnelle, dans un monorepo NX.
- Effet
- L'ébauche de design system partagé a permis de poser les bases d'une architecture UI cohérente entre le web et le mobile, facilitant la maintenance et la réutilisation des composants.
Ajout de services backend événementiels
- Problème
- Le produit avec besoin d'ajouter des mises à jour temps réel pour mieux évoluer avec les traitements événementiels au système déjà existant.
- Solution
- J'ai conçu et implémenté des services backend orientés événements, utilisant Temporal pour orchestrer les workflows et NestJS pour structurer les services, assurant ainsi la scalabilité et la réactivité de la plateforme. En collaboration avec le CTO et le développeur, nous avons intégré ces services au système existant.
- Effet
- Les services backend événementiels ont permis de diffuser des mises à jour en temps réel, améliorant la réactivité de la plateforme et la satisfaction des utilisateurs.
Technologies
- Next.js
- NX
- React Native
- Design system
- Temporal
- NestJS
- Styled components
- TypeScript
- Github
- Expo
- Redux
- Linear
Résultats
- Temps des interactions critiques
- < 300 ms
- Temps observé avant optimisation
- 1–2 s
- Architecture UI partagée
- Web + mobile
- Temps de debug/fix bug sur toute l'application mobile
- 48h