
Technologies utilisées
Next.js
React
Typescript
Firebase
Description du projet
Scores the moment they happen. A backend-for-frontend layer in Next.js normalizes external sports APIs so the browser never calls them directly, and fans get personalized Web Push alerts on goals for the teams they follow.
Match summaries are AI-generated with a rule-based fallback, and only run when a match page is actually opened — protecting AI quota instead of burning it on pages nobody views.
- Backend-for-frontend layer to normalize and cache third-party sports data.
- Personalized Web Push notifications tied to followed teams.
- Cost-aware AI summaries: generated on-demand, not pre-computed for every match.
Dans les coulisses
Défis
- Livrer une PWA prête pour la production qui reste rapide même quand les APIs tierces de scores ralentissent.
- Protéger le quota de l'IA tout en envoyant des alertes Web Push personnalisées en temps réel.
Compromis techniques
- Ne jamais laisser le frontend posséder le contrat des APIs externes : une couche BFF normalise une fois, tout le reste s'adapte.
- Polling + cache (SWR) plutôt qu'un vrai temps réel complexe : viser du « suffisamment live », pas du parfait.
- Les résumés IA ne se génèrent qu'à la consultation réelle d'un match, pas en avance pour tous les matchs.
Ce que j'en retiens
- Les fonctionnalités coûteuses (IA, notifications) doivent être protégées à la frontière de l'API, pas espérées côté UI.
Détails & Aperçus
Screenshots



