El directo ya no puede mentir sobre los puntos
Las ultimas 24 horas en Nima Project tuvieron actividad en tres sitios:
- el workspace compartido
world-cup-porraworld-cup-api
La historia del dia no fue "anadimos otro panel" ni "pulimos otro layout".
Fue algo mas estructural:
Ultimate Porra dejo de tratar el directo como una capa visual separada y empezo a obligarlo a responder ante la misma verdad que decide los puntos reales.
Hasta ahora habia tres cosas que podian vivir demasiado sueltas entre si:
- el resultado oficial ya cerrado;
- el partido en directo con estado provisional;
- y la forma en que la home, las tarjetas y el voto le explicaban eso al usuario.
Estas 24 horas van justo de coser esas tres piezas.
El primer cambio serio: cuando el partido se cierra, la UI ya no puede seguir calculando "a ojo"
Los commits que abren la ventana marcan muy bien ese giro:
Use official closed-match pointsAlign match scoring breakdownFix official scoring refreshDocument World Cup score refresh endpoint
La implicacion es fuerte.
Mientras un partido esta vivo, tiene sentido mostrar puntos provisionales. Pero en cuanto existe resultado oficial cerrado, el producto ya no puede seguir dependiendo de una reinterpretacion local del scoring.
Tiene que leer la verdad oficial y refrescarla bien.
Eso se nota en los dos lados:
- el frontend incorpora
prediction-points.jspara preferir puntos almacenados cuando el partido ya no es provisional; - la API anade y documenta mejor el refresh de scoring oficial para que los cierres no queden a merced del ultimo render o del ultimo poll.
No es un detalle tecnico.
Es el momento en que la porra empieza a asumir que el directo puede ser aproximado, pero el cierre no.
La home deja de ser un collage de estados y pasa a ser una superficie de lectura
La mayor concentracion de commits estuvo en world-cup-porra, y casi todos giran alrededor de lo mismo:
Fix live scoring on pool homePrime live scoring before pool home rendershow actual scorers on vote cardssimplify actual scorer hintalign dashboard live and stats cardsshow live minute and compact stats cardsreorganize mobile dashboard live layoutplace live preview under progresssimplify live match previewstyle live status as plain textmove evaluated votes into rank cardalign live panel flags
Vistos uno a uno parecen pequenos.
Vistos juntos, cuentan una decision de producto muy clara:
la home ya no puede mezclar ranking, live, estadisticas y voto como piezas sueltas. Tiene que leerse como una explicacion compacta de tu estado dentro de la partida.
Por eso pasan varias cosas a la vez:
- los
votos evaluadosse mueven dentro deTu posicion, porque ya no son un dato lateral sino parte del contexto de ranking; - el panel live se simplifica y pierde el tono de bloque decorativo;
- los minutos en juego, descanso o pausa de hidratacion pasan a importar como copy de estado real;
- y el preview live se recoloca debajo del progreso para que la narrativa visual tenga orden.
La app esta diciendo algo nuevo:
primero te ubico, luego te explico el partido, y solo despues te dejo navegar el resto.
Las conversaciones de chat empujaron exactamente en esa direccion
En las sesiones de Codex del 18 al 19 de junio aparecieron instrucciones muy concretas que no hablaban de arquitectura, pero si de contrato de producto:
Quita los textos de los paises del contenedor liveel status live no debe tener fondo de color solo cambiar el color de textoEn caso de live texto rojoen caso de descanso o paisa por hidratacion azulLOS VOTOS EVALUADOS ... DEBEN ESTAR DENTRO DEL CONTENEDOR TU POSICIONLAS BANDERAS Y EL VS DEBEN ESTAR ALINEADOS VERTICALMENTE
Eso no es simple preferencia visual.
Es una insistencia en que el directo no robe protagonismo con cajas, fondos y adornos cuando lo importante es leer rapido:
- que estado tiene el partido;
- cuanto de tu puntuacion ya esta evaluado;
- y que parte sigue abierta o provisional.
La conversacion no iba de "hacerlo mas bonito".
Iba de quitar ruido para que la semantica del estado quede mas limpia.
Mostrar goleadores reales en la tarjeta de voto cambia el tipo de transparencia
Los commits:
feat: show actual scorers on vote cardsfix: simplify actual scorer hint
parecen pequenos, pero mueven una frontera importante.
Hasta ahora el bonus de goleador podia sentirse como una regla interna del sistema. Ahora la tarjeta empieza a devolver la evidencia del partido: quien marco realmente, y en que medida aplica ese bonus.
Eso cambia la relacion entre usuario y scoring.
Ya no basta con decir:
- tienes tantos puntos;
- o no puntua si no aplica.
Ahora el producto empieza a ensenar la pista visible que justifica esa evaluacion.
En una porra eso vale oro, porque la confianza no se gana solo calculando bien. Tambien se gana dejando ver por que calculaste eso.
Incluso copiar votos deja de vivir en la home principal
Hubo un commit que parece lateral pero encaja perfecto con el resto:
move copy votes panel to setup
Mover copia de votos fuera del dashboard y devolverla a setup es otra forma de ordenar semantica.
La home queda para:
- estado;
- posicion;
- live;
- resumen.
La configuracion queda para:
- herramientas de operacion.
Cuando una app madura, no solo endurece reglas. Tambien separa mejor los tipos de accion.
Lo que realmente cambio en estas 24 horas
Lo facil seria contar el dia como:
- mejor scoring;
- mejor live;
- mejor responsive.
Pero el cambio de fondo es otro.
Ultimate Porra empezo a exigir que el directo, el cierre oficial y la explicacion visible de puntos dejen de contradecirse entre si.
Eso obliga a varias disciplinas juntas:
- el backend tiene que refrescar el scoring oficial de forma fiable;
- el frontend tiene que distinguir mejor entre puntos provisionales y cerrados;
- la home tiene que priorizar lectura por encima de decoracion;
- y la tarjeta de voto tiene que ensenar mas evidencia del partido real.
Lo que me llevo de este tramo
- Cuando existe resultado oficial cerrado, la UI ya no deberia recalcular puntos como si siguiera en modo provisional.
- Un endpoint de refresh documentado importa porque la consistencia del scoring ya es parte del producto, no solo del backend.
- Mover
votos evaluadosdentro deTu posicioncorrige narrativa, no solo layout. - El estado live funciona mejor como texto semantico tintado que como chip con fondo si lo que quieres es lectura rapida.
- Mostrar goleadores reales en la tarjeta convierte el bonus en algo mas auditable.
- Sacar copia de votos de la home ayuda a que el dashboard vuelva a ser superficie de seguimiento, no cajon de utilidades.
Estas 24 horas no cambiaron el producto con una gran feature nueva.
Cambiaron algo mas delicado:
la porra empezo a aceptar que un partido en directo puede ser provisional, pero la explicacion de puntos no puede ser ambigua, y mucho menos mentir cuando el resultado ya es oficial.
Parte de mis notas de producto y plataforma. Sigue el blog o escribeme.