~/blog $ git show 2026-10-06
Five Sites in Three Days
· 5 min read · Victor Benavides
--craft--opsCasi todo lo que escribo acá es sobre el trabajo. Esto no.
En tres días de septiembre puse cinco sitios pequeños en internet. Son creadores de cartas para juegos de mesa, de esos donde llenas un formulario y sale una carta lista para imprimir, al tamaño físico exacto para una funda. El primero existió porque quería imprimir cartas esa misma tarde, y lo hice. El segundo existió porque un amigo comentó que las herramientas para su juego no eran gran cosa. Para el tercer día eran cinco.
Quiero mirar por qué eso fue posible, porque la respuesta resultó más interesante que los sitios.
El stack apenas es un stack
Cada uno es HTML y JavaScript estáticos. Un script chico convierte un archivo de datos en unas decenas de páginas. Hacer push a la rama principal lo despliega. Uno de ellos vuelve a bajar su fuente de datos pública cada semana y se reconstruye solo, que es lo más sofisticado de todo el grupo.
No hay servidor. Ni cuentas, ni login, ni base de datos, ni sesiones. Nada que migrar. Nada que se pueda perder, porque no se guarda nada. Si uno de estos sitios se cayera por un día, la reacción correcta sería enterarse en algún momento.
Trabajar así un fin de semana sorprende cuando tu trabajo diario tiene forma. Funcionalidades que tomarían un sprint toman una noche, y es tentador concluir que algo del software profesional está inflado.
Las restricciones son reales, solo que son otras
Esa conclusión es demasiado fácil, y el fin de semana tuvo sus propios obstáculos.
Un sitio se llama The Loot Table y no como el juego que soporta, porque la licencia que hace legal construirlo prohíbe explícitamente poner el nombre del juego en el título. Esa es una restricción de producto genuina, llegando desde una dirección que nunca encuentro en el trabajo.
Una fuente de datos que quería estaba bloqueada por el filtrado de mi propia red, y me tomó un rato entenderlo porque la falla parecía que el sitio estaba caído. Una red de distribución de contenido gratuita se negó a servir uno de los repositorios, sin explicación y sin apelación. El nivel más barato de base de datos que encontré viene con una trampa que menciono enseguida.
Nada de eso es más lento que un proceso corporativo. Simplemente tampoco es gratis, y la fricción aparece en lugares poco familiares.
Después uno de ellos creció
Dos semanas más tarde quise que el primero de esos sitios manejara una liga de verdad. Inscripciones, resultados de partidos, tabla de posiciones, progresión de jugadores, lesiones que se arrastran entre partidas.
Eso requería una base de datos, y en el momento en que la tuvo dejó de ser el mismo tipo de cosa. Ahora hay registros que pertenecen a otras personas. Hay un esquema que tiene que sobrevivir a sus propios cambios. Hay un login, porque algunas acciones solo deberían estar disponibles para quien dirige la liga. Nada de eso existía la semana anterior, y todo llegó junto.
Lo puse en el nivel gratuito de base de datos, que se pausa solo cuando está ocioso. La primera petición después de un rato de silencio recibe un error durante cerca de un minuto mientras despierta.
Eso es gracioso, porque hace dos semanas escribí un post sobre sistemas que se usan tan poco que nunca se mantienen calientes, y sobre cómo el primer visitante paga por todos. Después fui y construí uno a propósito, leí la trampa, y acepté el trato igual. En el sitio de una liga para un puñado de personas, un minuto de espera al despertar da lo mismo. El mismo comportamiento en algo de lo que la gente depende es el tema de otro post completamente distinto.
Qué dice sobre el trabajo diario
Los proyectos de hobby no son rápidos porque el código sea más simple. La mayor parte del código es más o menos el mismo código.
Son rápidos porque nada puede lastimar a nadie. No se mueve el dinero de nadie. No existen datos de nadie que se puedan perder. Nadie está esperando esto para hacer su trabajo, nadie recibe una alerta de madrugada, y no hay ninguna versión de una mala tarde que termine en una disculpa a un cliente.
Cada cosa lenta del trabajo profesional es el precio de importarle a alguien. La autenticación existe porque los datos son de una persona. Las migraciones existen porque no puedes tirar lo que la gente ya metió. Los entornos de prueba, la revisión, la disciplina de release, todo eso es el costo de las consecuencias, y he escrito suficientes posts sobre esos costos como para dejar claro que no me estoy quejando de ellos.
Lo que me dieron los cinco sitios no fue una lección sobre ir más rápido en el trabajo. Fue un recordatorio de cuánto cuesta esa velocidad, y por lo tanto de qué estás comprando cuando la entregas. Eso vale un fin de semana de vez en cuando, y vale imprimir unas cartas.