Contexte
Un fantasy game tennis : les utilisateurs composent une équipe de vrais joueurs ATP/WTA pour de vrais tournois, appliquent des bonus, marquent des points selon les résultats réels et s'affrontent en ligues. Produit grand public sur mobile, console admin sur web.
Périmètre
Reprise complète d'un produit existant, déjà en production avec ses utilisateurs : migration de toute la stack et des comptes, refonte de la logique de jeu, nouvelle app mobile et ingestion automatisée des données tennis. Un périmètre de bout en bout, de la base de données jusqu'à l'app mobile.
Décisions produit
- Projet repris d'une V1 Firebase avec une app mobile Ionic/Angular sous Capacitor, entièrement migré vers une stack Node, tRPC et PostgreSQL
- Utilisateurs existants embarqués sans friction : les comptes de la V1 basculent vers le nouveau système d'auth sans reset de mot de passe
- Benchmarks documentés des sources de données tennis avant de choisir la stratégie de scraping
- V2 en cours de développement : nouveau mode de jeu, contenu enrichi et système de monétisation
Points clés
- Monorepo de 4 apps (web, mobile, API, marketing) plus un scraper Python en production
- Jobs, crons et scraping pour l'ingestion des données tennis
- App mobile Expo, déployée via EAS
- Web déployé sur Cloudflare Workers, API sur Railway, tests colocalisés dans 3 workspaces
Stack
TypeScript
React 19
TanStack Router
Expo
Hono
tRPC
Drizzle
Neon
Astro
Cloudflare