Volver

BetEdge

Plataforma que detecta value bets y surebets en fútbol, comparando cuotas de múltiples casas de apuestas en tiempo real para calcular un consenso de mercado.

Desarrollo full-stack completo — arquitectura, backend, frontend, despliegue y mantenimiento en producción

  • Spring Boot
  • PostgreSQL
  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • Recharts
  • Docker

Qué hace

BetEdge combina las cuotas de dos proveedores (OddsPapi y The Odds API) para las principales ligas de fútbol europeas, calcula un consenso de mercado y detecta dos tipos de oportunidades: value bets (cuotas con ventaja frente al consenso) y surebets (combinaciones con ganancia garantizada sin importar el resultado).

Arquitectura

Backend en Spring Boot con PostgreSQL y migraciones versionadas con Flyway. Frontend en React con TypeScript y gráficas con Recharts. Autenticación con Google OAuth y JWT, con rotación de refresh token. Dos fuentes de datos se ingieren por separado mediante jobs programados y luego se reconcilian para identificar cuándo se trata del mismo partido.

Retos técnicos resueltos

Reconciliación de partidos entre fuentes — cada proveedor nombra los mismos equipos de forma distinta (“Köln” vs “Cologne”, con o sin “FC”). Diseñé un servicio que empareja partidos por nombre y hora con tolerancia de minutos, normalización de sufijos y una tabla de alias, con la regla de que ante la duda el sistema no empareja — prefiere mostrar los partidos duplicados a mezclar datos de eventos distintos.

Deduplicación de cuotas — el sistema es de solo-inserción por diseño, nunca sobreescribe históricos, lo que hacía crecer la tabla de cuotas sin control. Cambié la comparación para que fuera por fuente de datos en vez de por “última fila global”, lo que resolvió un crecimiento descontrolado en una de las casas de apuestas.

Optimización de consultas — las consultas sin caché a la base de datos generaban demasiadas idas y vueltas. Las reescribí como consultas por lote con caché por corrida, reduciendo esas idas y vueltas entre 91% y 98%.

Despliegue

Corre en producción sobre una VM en Oracle Cloud (capa gratuita), con Docker, TLS real vía Let’s Encrypt, y hardening de red con firewall y fail2ban.