Caso de estudio

La aplicación que lleva la noche de liga de WDCTT.

Washington DC Table Tennis llevaba la noche de liga a mano: armar las parejas, anotar cada marcador y mantener la tabla al día sobre la marcha. Le construimos una aplicación que se encarga de la mayor parte de ese trabajo, con el administrador a cargo, y puedes ver su lógica funcionando aquí mismo.

El reto

En una noche llena, alguien tenía que emparejar a cada jugador, recordar quién le ganó a quién, actualizar el ranking y mantener las mesas en movimiento. Era manual, lento y fácil de equivocarse.

WDCTT necesitaba un software que se encargara de la noche: registrar a los jugadores, emparejarlos de forma pareja, asignar mesas, anotar los partidos y actualizar la tabla en cuanto termina un partido.

Simulación
El ranking, a mano
Partido Paul le ganó a Bob, 3-2
Ranking Paul 1350 · Bob 1300
Esperado 1 / (1 + 10^((1300−1350)/400)) = 0.57
Cambio K × (1 − 0.57), K = 24 = +10
Nuevo: Paul 1360 +10Bob 1290 −10
Ahora imagina hacer esto a mano, en cada partido, todas las noches.

Lo que construimos

Lo que un organizador necesita para llevar la noche, y lo que un jugador quiere ver.

Por dentro

Esta es parte de la lógica que lleva la noche, en simulación. Pruébala tú mismo.

DEMO Simulación de una noche de liga WDCTT
Simulación
Toca para correr la simulación→
K
espera0:20juego1:20partidos3
M
espera0:57juego2:13partidos7
L
espera1:34juego3:06partidos11
A
espera2:11juego3:59partidos5
S
espera2:48juego1:22partidos9
Z
espera0:55juego2:15partidos3
I
espera1:32juego3:08partidos7
M
espera2:09juego4:01partidos11
R
espera2:46juego1:24partidos5
E
espera0:53juego2:17partidos9
En espera
Posiciones en vivo
1EEli6-31227
2SSam6-31222
3RRio3-21214
4AAva3-21209
5MMax9-21201
6LLeo9-21196
7IIvy4-31188
8MMia4-31183
9ZZoe1-21175
10KKai1-21170
0partidos
10en espera
0/4mesas
Ver la aplicación real de la liga →

Ranking ELO en vivo

Cada resultado pasa por el mismo cálculo de ranking que usa la aplicación real. Toca a un ganador y mira cómo se mueve la tabla.

Simulación
Probabilidad de ganar
69% / 31%
Toca a un jugador para registrar una victoria. Cuanto mayor la sorpresa, mayor el cambio en el ranking.

Sorteo justo

Antes de cada partido, un sorteo justo decide quién saca primero. Toca para lanzar.

Simulación
ML
50/50 justo, sin discusiones

Hecha para ser segura

Acceso por roles

Jugadores, administradores y superadministradores ven lo que les corresponde según su rol.

Manejo seguro de contraseñas

Un restablecimiento genera una contraseña temporal segura, cierra la sesión del jugador en todos sus dispositivos y no muestra ni guarda la contraseña en texto legible.

Sin escalar privilegios

Solo un superadministrador puede restablecer a otro administrador; un administrador común no puede.

Datos aislados y revisión

La base de datos está aislada de los demás sistemas, e hicimos una revisión de seguridad dedicada antes del lanzamiento.

La tecnología

Construida sobre una base moderna y confiable: un backend en Python (FastAPI), una base de datos PostgreSQL aislada, un programador de tareas con zona horaria que abre la noche de liga a las 7 p. m. y una interfaz pensada primero para el teléfono. Funciona en Railway con despliegues automáticos, así las mejoras pueden salir el mismo día.

FastAPIPostgreSQLAPSchedulerRailwayPython

Está en funcionamiento

No es un concepto. Lleva noches de liga reales cada semana en league.wdctt.com.

Visitar la aplicación en vivo

¿Quieres una aplicación que lleve tu operación así?

Cuéntanos qué necesitas y te mostraremos lo que es posible.

© 2026 QA Digital Advertising | Todos los derechos reservados

Política de privacidad|Términos y condiciones