Saltar al contenido
← Todos los proyectos

Fantasy Voley

Manager fantasy de voleibol español, puntuado con estadísticas reales de la liga.

Rol
Único ingeniero — ingesta de datos, API y front
Stack
Python PostgreSQL Neon Railway Vue

Problema

El voleibol español tiene una afición entregada y ninguna liga fantasy. La federación publica plantillas, calendario y estadísticas por partido en un portal ASP.NET heredado, sin API, con identificadores de equipo que cambian entre temporadas y un HTML que se mueve sin avisar.

Enfoque

Una capa de ingesta que trata el portal de la federación como una fuente hostil. El identificador de jugador es estable, así que sostiene los joins; el de equipo no lo es, así que se resuelve por temporada. El scraping corre programado, escribe en staging y solo promociona una temporada cuando los recuentos son plausibles: un cambio silencioso de HTML degrada a "no hay actualización" en vez de "todas las plantillas están vacías". Encima va el motor de puntuación que convierte estadísticas reales de partido en puntos fantasy.

Resultado

Una liga funcionando de punta a punta — ingesta, motor de puntuación y front — sincronizada automáticamente durante la temporada, sobre un modelo de datos que sobrevivió a un rediseño de la web de la federación sin reescribirse. El lanzamiento público es el siguiente paso.

Puntuar es una decisión de producto, no una fórmula

Convertir estadísticas por partido en puntos fantasy es donde vive el juego. Demasiado literal y siempre gana el mejor jugador; demasiado ingenioso y nadie puede predecir su propia puntuación. Encontrar ese equilibrio llevó más iteraciones que cualquier otra parte del código.