Saltar al contenido
Gonzalo Gallardo
ENConversemos
← Todos los casos

Deporte amateur · Curicó

El club dejó de depender de alguien para existir online.

«Si esa persona no está, el sitio se queda con el resultado de la fecha anterior.»

39

inscripciones recibidas en 48 horas

66

jugadores publicados en 4 series

27

aprobadas y publicadas

0

intervenciones técnicas para publicar

Cliente
Club Deportivo San Martín de Curicó
Estado
En producción · desarrollo activo
Club Deportivo San Martín de Curicó — Portada
Partido en la cancha al atardecer, con el cielo rosado sobre el pueblo.

Deporte amateur · Curicó

01 — Míralo funcionando

Tócalo. No hace falta que te lo explique.

Carga un partido como lo carga el club

1 ¿Qué serie jugó?

Contesta y el resultado se arma acá.

Un gol había que escribirlo en tres lugares distintos, y publicar dependía de que una persona estuviera. Ahora se carga el partido y el resto se ordena solo.

Secciones tomadas del panel del club.

Portada — Club Deportivo San Martín de Curicó
  1. Envejece sola. Lo primero es el próximo partido y el último resultado, y se actualizan cada vez que alguien carga una fecha.
Resultados — Club Deportivo San Martín de Curicó

02 · Resultados

Antes se escribían en un Excel y se avisaban por redes. Acá son la misma fuente que alimenta la tabla y los goleadores: no hay forma de que digan cosas distintas.

Tabla de posiciones — Club Deportivo San Martín de Curicó

03 · Tabla de posiciones

Reemplaza la imagen que se armaba a mano con 18 escudos después de cada fecha.

Goleadores — Club Deportivo San Martín de Curicó

04 · Goleadores

Nadie mantiene este ranking. Es la suma de los goles cargados en cada partido — la hoja de Excel que se eliminó.

Inscripción de jugadores — Club Deportivo San Martín de Curicó
  1. Acá murieron las horas de fotos. El jugador se inscribe desde su teléfono y la foto se comprime antes de salir. Nadie descarga, renombra ni achica nada.
Planteles — Club Deportivo San Martín de Curicó

06 · Planteles

El orden es automático: primero el DT, después porteros, defensas, mediocampistas y delanteros. Los que aún no tienen foto quedan al final para que la página no arranque a medio llenar.

Panel · Entrada — Club Deportivo San Martín de Curicó

07 · Panel · Entrada

El panel es del club, no mío. Cada serie entra con su propia cuenta y ve sólo lo suyo.

Panel · Resumen — Club Deportivo San Martín de Curicó
  1. El club se mira a sí mismo. Partidos, goles y jugadores en la misma pantalla. Antes eso vivía en tres archivos distintos.
Panel · Inscripciones — Club Deportivo San Martín de Curicó

09 · Panel · Inscripciones

Las inscripciones llegan solas y se aprueban o rechazan con un clic. Nadie transcribe nada.

Panel · Publicar — Club Deportivo San Martín de Curicó
  1. Publicar es un botón. Sin FTP, sin plantillas, sin llamar a nadie. Y con copia de seguridad al lado, porque quien publica no es técnico.
El negocio
Plantel reunido en la cancha bajo los focos, de noche.
Formación completa del plantel en la cancha, antes de un partido.
Y todo lo demás

10 pantallas más del mismo sistema. No hay nada que leer acá: es el tamaño real de lo que se construyó.

Pantalla adicional del sistema de Club Deportivo San Martín de CuricóPantalla adicional del sistema de Club Deportivo San Martín de CuricóPantalla adicional del sistema de Club Deportivo San Martín de CuricóPantalla adicional del sistema de Club Deportivo San Martín de CuricóPantalla adicional del sistema de Club Deportivo San Martín de CuricóPantalla adicional del sistema de Club Deportivo San Martín de CuricóPantalla adicional del sistema de Club Deportivo San Martín de CuricóPantalla adicional del sistema de Club Deportivo San Martín de CuricóPantalla adicional del sistema de Club Deportivo San Martín de CuricóPantalla adicional del sistema de Club Deportivo San Martín de Curicó
02 — Cómo se hacía antes

El proceso que había que borrar.

No hay testimonio del cliente, pero la carpeta del proyecto conserva las herramientas que se usaban, y cada una dice qué proceso reemplazó: un Excel de tres hojas para las estadísticas, una carpeta con 18 escudos para armar la tabla de posiciones como imagen, tres versiones de una planilla de control de stock y siete versiones de una plantilla de Elementor.

Cada vez, de nuevo

  1. 1

    Alguien del club pedía por el grupo de WhatsApp que mandaran nombre, foto y serie.

  2. 2

    Los jugadores respondían en el grupo, mezclados con toda la otra conversación.

  3. 3

    Esa persona bajaba una por una las fotos a su computador.

  4. 4

    Las renombraba, las recortaba, las achicaba.

  5. 5

    Recién ahí escribía cada jugador en el sitio.

Qué se rompía
  • El mismo dato escrito tres veces. Un gol vivía en la hoja de resultados, en la de goleadores y en la ficha del plantel: tres lugares donde puede quedar mal.
  • El cuello de botella era una persona. Si no estaba, el sitio quedaba con el resultado de la fecha anterior.
  • La foto era el trabajo, no el dato. Recibir, descargar, renombrar y achicar 60 fotos son varias horas de alguien.
  • Versiones en conflicto: tres archivos de stock y siete plantillas. El trabajo se duplicaba porque no había una fuente confiable.
  • El sitio envejecía entre fechas. Cuando publicar cuesta, se publica poco.
«Quiero crear un Google Form para enviarlo a los WhatsApp pidiendo a los jugadores que suban su nombre, foto y serie, así después lo utilizo para rellenar la web.»
El dolor está en las últimas seis palabras. El cliente ya había asumido que iba a tener que transcribir a mano todo lo que llegara: pedía una forma más ordenada de recibir el trabajo manual, no una forma de no hacerlo.
03 — La decisión

Que el club cargue el partido, y todo lo demás se calcule solo.

El sistema no guarda estadísticas: guarda partidos. De ese único registro se derivan la tabla de goleadores, los partidos jugados de cada jugador, la campaña de cada serie, el historial contra cada rival y las tarjetas del plantel. No existe una tabla de goleadores que mantener al día: existe la suma de los goles cargados. El Excel de tres hojas desaparece porque desaparece la posibilidad de que las tres hojas se contradigan.

Lo que descarté, y por qué

WordPress + Elementor, que es lo que ya tenían

Publicar un resultado obligaba a entrar a maquetar. El club no necesitaba un constructor de páginas: necesitaba llenar cuatro campos.

Google Forms, que es lo que el cliente pidió

El iPhone manda fotos en HEIC y Forms las entrega en un formato que el navegador no muestra; exigir cuenta de Google deja fuera a parte del plantel; y sobre todo, Forms entrega una planilla — el trabajo de transcribir seguía existiendo, sólo cambiaba de lugar.

Base de datos y sesiones de usuario

Quince colecciones JSON en un almacén de archivos alcanzan de sobra para el volumen del club, y no hay servidor que administrar ni cuenta mensual que justificar.

Framework y proceso de compilación

Un club amateur cambia de proveedor técnico cada cierto tiempo. El que llegue en tres años abre un archivo y entiende. Un proyecto con framework y compilación caduca antes que el club.

04 — Lo que se construyó

Cada pieza borra un problema.

Asistente de partido jugado, en 4 pasos

El Excel de tres hojas. Se elige el partido, se pone el marcador y quién hizo los goles: la tabla se reordena sola, el goleador sube en el ranking y las estadísticas del jugador cambian en su tarjeta.

Inscripción pública de jugadores

El ciclo WhatsApp → descargar → renombrar → achicar → transcribir. El jugador entra desde el teléfono, escribe su nombre y toma la foto. La foto se achica en el propio teléfono antes de enviarse.

Revisión y aprobación con un clic

La transcripción. El club ve la ficha, corrige lo que haga falta y aprueba. El jugador queda publicado al instante.

Roles con permisos: administrador, delegado y prensa

El cuello de botella de una sola persona. El delegado de una serie carga sus partidos y su plantel; prensa publica noticias, tienda y galería. El servidor verifica el permiso, no sólo la pantalla.

Tabla de posiciones oficial editable

La imagen de la tabla armada a mano, escudo por escudo, después de cada fecha.

Protección contra pérdida de datos

El riesgo de que dos personas trabajando a la vez se borren el trabajo. El sistema detecta que otro publicó mientras tanto y avisa en vez de sobrescribir.

Lo que pasa solo
  • Motor deportivo: goleadores, partidos por jugador, campaña por serie, historial ante cada rival y forma de los últimos cinco partidos. Todo derivado, nada escrito a mano.
  • Procesamiento de imagen en el navegador: las fotos se redimensionan y convierten a WebP en el teléfono del jugador antes de subir.
  • WhatsApp: botón flotante en todo el sitio, y cada producto de la tienda arma el mensaje de pedido con el nombre ya escrito.
  • Noticia enlazada al partido: el asistente ofrece redactarla en el momento y la deja publicada con su ficha.
  • Videos desde YouTube o Google Drive pegando el enlace completo: el sistema extrae el identificador solo.
Lo que el cliente hace sin mí
  • Cargar un partido y su resultado
  • Registrar quién hizo los goles
  • Reordenar la tabla de posiciones
  • Agregar o editar jugadores con foto
  • Aprobar inscripciones que llegan solas
  • Publicar noticias con imagen
  • Cambiar el banner de portada
  • Publicar productos y precios de la tienda
  • Cargar videos de partidos
  • Agregar auspiciadores con su logo
Medido sobre el sistema

Estas cifras las medí yo sobre el código y el sitio en producción. Se pueden volver a comprobar.

17

páginas públicas

16

secciones editables en el panel

3

roles con permisos distintos

~10.000

líneas de código propio, sin dependencias

05 — Qué pasó después

El sistema vive después de la entrega.

El indicador más fuerte disponible es el módulo de inscripciones, porque tiene un antes y un después medible dentro del mismo sistema.

  • El plantel se llenó solo: se pasó de un puñado de jugadores a 66 fichas en cuatro series, 41 con foto, sin que nadie transcribiera nada.
  • Se abrió el filtro de calidad. Once inscripciones fueron rechazadas. Antes, revisar significaba descartar trabajo ya hecho; ahora rechazar cuesta un clic, así que el club puede ser exigente.
  • El sitio se mueve. En tres días de puesta en marcha hay publicaciones del club en 15 colecciones distintas, incluida una actualización del plantel a las 23:17 — hecha por el club, sin pedirle nada a nadie.

Lo que todavía falta

Falta saber cuánto tiempo ahorra por fecha, si crecieron socios, ventas o auspiciadores, y si el sitio sirvió para conseguir algo concreto. Nada de eso se puede inventar, y son justamente las cifras que terminan de armar el caso.

06 — Por qué está construido así

Sitio público

HTML, CSS y JavaScript sin framework ni compilación. 17 páginas, ~5.800 líneas.

Motor de datos

Capa única de acceso con cascada de respaldos: lo publicado → copia del repositorio → respaldo embebido. El sitio abre aunque el almacén no responda.

Panel de gestión

~3.100 líneas. 16 secciones, formularios generados desde una definición declarativa por recurso.

Servidor

7 funciones serverless. Sesiones firmadas con HMAC-SHA256, contraseñas en hash, permisos por rol verificados en el servidor.

Concurrencia

Control optimista por huella: el panel manda sobre qué versión trabajó; si cambió, el servidor responde conflicto en vez de sobrescribir.

¿Tu negocio tiene un proceso así?

La primera conversación es para entender el proceso, no para venderte nada.