P3
Arquitectura Astro + Go + HTMX
Mi portafolio es estático para quien lo visita y editable desde un panel: Astro genera HTML y una API en Go con un panel HTMX lo actualiza.
¿Estático o CMS?
Cuando armé mi portafolio quería dos cosas que suelen excluirse: que cargue como un sitio estático y que pueda editarlo desde un panel, sin tocar código ni hacer un commit por cada cambio de texto. La solución fue separar el camino de lectura del de escritura.

Lectura: cada visita recibe un archivo
Astro genera el sitio como HTML estático y el servidor web lo entrega como archivo. En una visita no se ejecuta código de aplicación ni se consulta la base de datos. Lo que se lee mil veces tiene que ser barato, y pocas cosas son más baratas que servir un archivo con caché.
Escritura: un panel con HTMX y una API en Go
El panel habla con una API propia escrita en Go (Gin): un binario sin dependencias de runtime, apoyado en una base de datos embebida, suficiente para un contenido que cabe en pocas tablas.
El panel no es una SPA: está hecho con HTMX. El formulario hace la petición, el servidor responde con el fragmento de HTML ya renderizado y HTMX lo reemplaza en la página (hx-target + hx-swap="outerHTML"). Así no necesito un build de frontend para el panel ni duplico el estado entre cliente y servidor.
Al guardar, un estático nuevo
Cuando guardo un cambio, la API pide un build automático: se genera un sitio estático nuevo y se publica de golpe. Si el build falla, sigue en línea la versión anterior y nadie ve un estado a medias. Ese mecanismo lo conté en despliegues sin caída con un symlink.

¿Por qué no SSR o un CMS clásico?
Con renderizado en el servidor o con un CMS tradicional, cada visita pasa por la aplicación. Aquí leer es servir archivos; solo escribir cuesta, y escribo pocas veces.

El intercambio existe: un cambio tarda lo que dura un build en verse publicado, y el contenido que cambia por usuario o en tiempo real no encaja en este modelo. Para un portafolio, vale la pena.
Lo que aprendí
Separar lectura y escritura simplifica casi todo: el camino que se usa a cada rato es trivial, y el complejo se usa poco. Lo que se lee mil veces debe ser barato; lo que se escribe poco puede permitirse un build. Y HTMX me recordó que, para un panel interno, devolver HTML desde el servidor sigue siendo una opción muy productiva.
¿Y tú?
Para paneles internos, ¿vas con una SPA (React, Vue) o con HTMX y HTML desde el servidor?
- #SoftwareArchitecture
- #Golang
- #HTMX
- #Astro
- #WebDevelopment
Míralo también en
¿Necesitas algo parecido en tu equipo o tu producto?
Cuéntame el contexto y te respondo en menos de 24 horas. Si prefieres revisar la trayectoria antes, el CV está a un clic.