Un voto de eliminatoria ya no puede terminar en el minuto 90
El trabajo de hoy en Ultimate Porra parecía mezclado entre interfaz, modelo de voto y reglas de puntuación.
Se enriqueció la identidad de jugadores para que el bonus deje de depender de nombres frágiles.
El voto de eliminatoria empezó a pedir también quién avanza cuando el marcador termina en empate.
La explicación de puntos pasó a mostrar mejor qué parte pertenece al partido y qué parte pertenece a la fase.
Y la lógica de puntuación dejó de tratar la diferencia de goles en cruces como si fuera una extensión obvia del marcador final.
Leído por separado, todo eso parece una colección de ajustes.
Leído junto, marca una decisión más profunda:
una eliminatoria ya no puede tratarse como un partido de liga al que luego se le añaden excepciones.
El marcador dejó de ser suficiente
Durante la fase de grupos, un voto puede vivir bastante tiempo apoyado en una idea simple.
Quién gana.
Cuántos goles habrá.
Y, si existe bonus, quién marca.
Pero una eliminatoria rompe esa comodidad.
Un empate ya no es un final estable.
Es una bifurcación.
Desde ahí, el producto ya no solo necesita guardar un resultado.
Necesita guardar cómo termina realmente la historia competitiva del partido.
Porque para la persona que juega no es lo mismo acertar un 1-1 cualquiera que acertar un 1-1 en el que además entiende quién sigue vivo en el torneo.
El dato importante ya no era el gol, sino la identidad
Otra capa del problema apareció en el bonus de goleador.
Mientras la aplicación puede confiar en un nombre escrito de una sola forma, el sistema parece simple.
Pero cuando distintas fuentes, catálogos o correcciones empiezan a hablar del mismo jugador con variantes, el bonus deja de depender del fútbol y pasa a depender del texto.
Eso no es una regla de producto.
Es una fragilidad accidental.
La decisión del día fue mover esa verdad hacia una identidad más estable.
No basta con que el usuario vea un nombre conocido.
El sistema también necesita una forma fiable de reconocer que dos variantes siguen apuntando a la misma persona.
Ese cambio parece técnico, pero en realidad protege una promesa de producto:
si el usuario acertó al goleador correcto, la plataforma no debería perder ese acierto por culpa de cómo llegó etiquetado el dato.
La eliminatoria obligó a separar resultado y avance
La parte más interesante del día fue admitir que el marcador no resuelve toda la predicción.
En una eliminatoria, un empate puede convivir con dos verdades distintas:
- el resultado que quedó en el partido;
- y el equipo que terminó avanzando.
Mientras esas dos cosas permanecen implícitas, el producto obliga al usuario a adivinar qué está puntuando realmente.
Peor aún: obliga al sistema a deducir después una intención que nunca se pidió de forma explícita.
La decisión nueva fue sacar esa rama al frente.
No como detalle administrativo.
Sino como parte del propio contrato del voto.
Eso introduce más superficie en la UI, sí.
Pero evita algo mucho peor: que una regla decisiva del torneo siga escondida dentro de inferencias posteriores.
El desglose dejó de poder mezclar capas
También hubo una mejora importante en cómo se explican los puntos.
Cuando la competición entra en cruces, el usuario ya no quiere solo saber cuántos puntos obtuvo.
Quiere entender de qué nivel de acierto vienen.
Una parte pertenece al partido.
Otra a la fase.
Otra a decisiones específicas como quién avanzó o cómo se leyó una diferencia de goles en ese contexto.
Si todo eso aparece resumido en un número compacto, el producto puntúa, pero no enseña.
Por eso el cambio en los resúmenes importa tanto como la regla de scoring.
El sistema deja de decir solo “este voto vale X”.
Empieza a explicar qué tipo de verdad acertó el usuario.
El knockout ya no podía heredar reglas pensadas para otra fase
La lección más útil del día no es futbolística.
Es de modelado.
Reutilizar una regla de fase de grupos dentro de una eliminatoria parece eficiente mientras ambas superficies comparten un marcador.
Pero el parecido visual engaña.
La estructura competitiva ya cambió.
Hay desempates.
Hay avance.
Hay formas distintas de acertar parcialmente.
Y hay feedback que deja de ser honesto si se limita a reciclar la semántica de la fase anterior.
Eso explica por qué hoy aparecieron juntos cambios de identidad, UI, scoring y feedback.
No eran frentes separados.
Eran síntomas de la misma corrección conceptual:
cuando cambia la estructura del torneo, también tiene que cambiar la estructura del voto.
Un producto madura cuando deja de pedir que el usuario complete las reglas mentalmente
La decisión de hoy empuja a Ultimate Porra hacia un tipo de claridad más exigente.
La app ya no asume que el usuario rellenará los huecos entre marcador, bonus, penaltis y avance.
Tampoco asume que backend y frontend podrán reconstruir después esa intención sin coste.
En su lugar, empieza a tratar cada voto de eliminatoria como una combinación explícita de identidades, desenlace y explicación visible.
Eso hace el sistema un poco más complejo.
Pero también lo hace mucho más honesto.
Porque en una eliminatoria real, el partido no termina cuando el marcador se congela.
Termina cuando el producto puede decir, sin ambigüedad, qué se predijo, qué se acertó y por qué.
Parte de mis notas de producto y plataforma. Sigue el blog o escríbeme.