Tous les projets

RushPlay

SaaS · Données · 2026

Rendre lisible ce que le marché des paris dit vraiment.

  1. 01 Le produit
  2. 02 Le problème
  3. 03 La solution
  4. 04 En images
  5. 05 Le résultat
  6. 06 Ce que j'en retiens
01

Le produit

SaaS d’analyse : relève six bookmakers, retire leur marge, et affiche la probabilité réelle de chaque issue.

Mon rôle

  • Conception produit
  • Frontend
  • Backend
  • Données
  • Mise en production

Stack

  • Next.js
  • TypeScript
  • FastAPI
  • Python
  • PostgreSQL
  • Docker
02

Le problème

Un bookmaker n’affiche jamais une probabilité honnête : il ajoute sa marge aux cotes. Le parieur voit donc un chiffre qui ne correspond à aucune réalité, et n’a aucun moyen simple de comparer deux opérateurs.

03

La solution

Relever les cotes de six opérateurs plusieurs fois par jour, retirer la marge pour obtenir la probabilité implicite du marché, puis montrer trois choses : la probabilité réelle, l’écart entre opérateurs, et le mouvement depuis le premier relevé.

Un produit qui transforme une donnée brute et illisible — des centaines de cotes qui bougent toute la journée — en une information qu’un utilisateur comprend en trois secondes. Collecte automatisée, traitement, interface, et mise en production : de l’idée au produit en ligne.

04

En images

Accueil de RushPlay : la probabilité du favori en très grand, puis les matchs du jour.
Accueil de RushPlay : la probabilité du favori en très grand, puis les matchs du jour.
Fiche d’un match : probabilités des trois issues, score le plus probable, comparatif des bookmakers.
Fiche d’un match : probabilités des trois issues, score le plus probable, comparatif des bookmakers.
Track record : la performance du marché mesurée match par match.
Track record : la performance du marché mesurée match par match.
05

Le résultat

1,004

log-loss du modèle

contre 0,978 pour le bookmaker, sur la saison test

−5,6 %

rendement hors échantillon

1 752 matchs jamais vus à l’entraînement

267

tests automatisés

174 côté Python, 93 côté front, joués à chaque envoi

6

sources de cotes

relevées plusieurs fois par jour, avec reprise après panne

100 / 100

accessibilité Lighthouse

mesuré en thème clair et en thème sombre

Chaque chiffre est reproductible : compte de tests exécutés, mesure de backtest, ou calcul exact. Aucun n'est estimé.

06

Ce que j'en retiens

  • Un backtest qui donne un résultat flatteur est d’abord un backtest à auditer. Le mien concaténait les ligues et laissait passer des données du futur.

  • Retirer une fonctionnalité peut augmenter la valeur du produit : sans promesse de gain, le site devient un outil de lecture que je peux défendre ligne par ligne.

  • Si je reprenais le projet aujourd’hui, j’écrirais le protocole de validation avant le modèle, pas après.