
TravelWallet
App Store & Google Play · 17 langues
Voir TravelWallet en ligne(nouvel onglet)Contexte
TravelWallet est une application de billets de voyage pour les groupes. Elle reconnaît chaque voyageur et lui envoie son billet, qu’il peut ensuite présenter et faire scanner sans connexion.
C’est une application Studio104 : je la conçois et la développe.
Ce que j’ai fait
Les billets arrivent sous toutes les formes : e-mails, PDF, photos. J’utilise Gemini pour lire ces documents et en extraire les billets, ce qui évite de les saisir à la main.
Une fois extrait, le billet doit être là où le voyageur le cherche. L’application s’intègre à Apple Wallet et Google Wallet, affiche une Live Activity sur l’écran verrouillé de l’iPhone et propose des widgets sur iOS et Android. Elle gère aussi des abonnements in-app, et elle est traduite en 17 langues.
Le code est organisé en monorepo. On y trouve l’application Expo, découpée par fonctionnalités, une API écrite avec Hono et hébergée sur Cloud Run, et des workers Cloudflare. L’ensemble est couvert par plus de 230 fichiers de tests. Les mises à jour OTA me permettent de livrer des corrections sans publier une nouvelle version sur les stores.
Dans l’application, Zustand gère l’état de l’interface et TanStack Query les données du serveur. Le style est écrit avec NativeWind, Firebase complète la stack, et les builds passent par EAS.
Stack
Expo, TypeScript, Zustand, TanStack Query, NativeWind, Firebase, Hono, Gemini, EAS.
Résultats
TravelWallet est en ligne sur l’App Store et sur Google Play. Un groupe peut y déposer ses billets tels qu’il les a reçus, et chaque voyageur retrouve le sien dans son téléphone, même hors ligne.
Captures
Stack et expertises
- React Native
- Expo
- TypeScript
- Zustand
- React Query
- NativeWind
- Firebase
- Hono
- IA (Gemini)
- EAS
- Apple Wallet
- Live Activity
- Monorepo



