Web et mobile.
Un seul code.
Une app d’épargne salariale qui partage enfin son code entre le web et le mobile.
- Année
- 2025–26
- Durée
- 6 mois
- Équipe
- 1 senior · 2 équipes
- Stack
- Expo · Next.js · pnpm
Contexte
Epsor simplifie l’épargne salariale et retraite de plus de 200 000 salariés, dans plus de 1 500 entreprises. Le web tourne sur Next.js, le mobile sur Expo, et l’équipe avait commencé un package d’écrans partagé entre les deux.
Le défi
Le mobile vivait hors du monorepo : impossible de tester le package partagé dans les deux apps, et les versions de React divergeaient entre Next.js et le mobile. Il fallait tout aligner étape par étape, sans bloquer les équipes qui continuaient de livrer sur chaque repo.
Ce qu’on a livré
- App mobile rapatriée dans le monorepo, configuration Expo comprise
- Versions de React alignées entre Next.js et le mobile
- Package d’écrans partagé entre web et mobile, testable des deux côtés
- TanStack Query pour des données partagées et compatibles SSR
- Storybook commun au web et au mobile
- Migration de npm vers pnpm, CI unifiée et jobs en parallèle
- Une nouvelle app dont tout le design change selon l’utilisateur connecté, design tokens stockés en base
Un sujet similaire ?
30 minutes avec un senior pour en parler, gratuitement.
Autres missions
02 / SEPHORA · MONOREPO MULTI-PAYS
Plusieurs apps.
Une seule base.
Un monorepo, trois apps pour l’Europe et le Moyen-Orient. Chaque pays reçoit ses réglages typés au démarrage, en LTR comme en RTL.
60variantes d’app, un seul repo
0fork par pays
05 / TWENTY · BACKEND GRAPHQL
Un schéma GraphQL.
Par client.
22 mois au cœur d’un CRM open source : une API GraphQL générée à la volée pour chaque workspace, avec son cache, puis Twenty ORM.
224PRs mergées en 22 mois
1 / tenantschéma GraphQL par workspace