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


Deporte amateur · Curicó
Tócalo. No hace falta que te lo explique.
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.

- Envejece sola. Lo primero es el próximo partido y el último resultado, y se actualizan cada vez que alguien carga una fecha.

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.

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

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

- 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.

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.

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

- El club se mira a sí mismo. Partidos, goles y jugadores en la misma pantalla. Antes eso vivía en tres archivos distintos.

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

- 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.


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










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
Alguien del club pedía por el grupo de WhatsApp que mandaran nombre, foto y serie.
- 2
Los jugadores respondían en el grupo, mezclados con toda la otra conversación.
- 3
Esa persona bajaba una por una las fotos a su computador.
- 4
Las renombraba, las recortaba, las achicaba.
- 5
Recién ahí escribía cada jugador en el sitio.
- 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.»
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.
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.
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.
- 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.
- 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
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
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.
Maquinaria para altura e industria · Curicó y Santiago
«¿Y cuánto sale arrendar esto?» Abrir la planilla, buscar el tramo, aplicar el descuento, recién ahí responder. Diez veces al día.
Hoy el precio se calcula solo, con el descuento por días ya aplicado.
Ver cómo se hizo →
Gastronomía · delivery
«El pedido llega por WhatsApp escrito de cualquier forma, y alguien en cocina tiene que adivinar qué quiso decir.»
Hoy el cliente arma su pedido paso a paso y llega a cocina sin ambigüedades.
Ver cómo se hizo →
Hotelería boutique · Colchagua
«Las mismas cuatro preguntas todos los días: qué fechas hay, cuánto sale, cuántas noches, qué incluye.»
Hoy el huésped llega a WhatsApp con fechas, palco y total ya resueltos.
Ver cómo se hizo →



