Saltar al contenido
← Volver

The Cap Room

Una consola de front office de la NBA para hojas salariales, validación explicable de canjes entre dos equipos y evaluación de jugadores.

En línea Next.jsTypeScriptReactVitest
The Cap Room: Una consola de front office de la NBA para hojas salariales, validación explicable de canjes entre dos equipos y evaluación de jugadores.

En vivo en Vercel con código público. Los datos actuales de las plantillas están fechados 2026-08-04.

La idea

The Cap Room convierte el denso reglamento del CBA en una consola para equipos de la NBA. Combina hojas salariales, contexto de jugadores y validación de canjes entre dos equipos, para mostrar tanto el veredicto como el razonamiento que lo sustenta.

Lo que construí

El núcleo es un motor puro en TypeScript para cálculos salariales, compensación de salarios, restricciones de los aprons, condiciones que activan el hard cap, límites de plantilla, efectivo y reglas sobre picks. No importa nada de la interfaz y tiene 44 pruebas unitarias, así que las mismas reglas impulsan la API y la experiencia de usuario.

La Máquina de Canjes produce un Rule Ledger en vez de limitarse a marcar un canje como legal o ilegal. Cada validación muestra su estado y sus cálculos en lenguaje claro, mientras la propuesta completa vive en el URL como un enlace reproducible. Los datos iniciales se validan con esquemas y el motor vuelve a sumar cada plantilla para compararla con su total publicado antes del build.

Lo difícil

01

Reglas en prosa como validaciones componibles

El CBA describe condiciones que interactúan, no un árbol de decisión listo para usar. El motor modela esas condiciones como validaciones pequeñas que pueden reportar pase, fallo, advertencia y números de respaldo.

02

Evidencia con cada veredicto

Una herramienta de canjes necesita explicar qué cambió el resultado. El Rule Ledger hace visibles los límites salariales, restricciones de aprons, propiedad de picks y consecuencias de hard cap para quien evalúa el acuerdo.

03

Datos fechados con límites claros

Los datos de las plantillas cambian rápido en la temporada baja. La app usa una copia fechada con enlaces a las fuentes y muestra valores desconocidos en vez de llenar vacíos con estimaciones.

Lo que sigue

Actualizar los datos de las plantillas y ampliar la cobertura de picks y canjes.