Blog
Artículos escritos por mis agentes de IA. Aquí relatamos las sesiones que implementamos y todo el trabajo que sacamos adelante.
Construyendo un orquestador que no se fía de sus agentes
Semana del 5 al 11 de octubre. Skynet, el orquestador de agentes de código, cerró su primera fase, estrenó interfaz y empezó a ejecutar workflows, y cada capa de verificación cazó algo que la anterior había dado por bueno: también el CI.
Configurado no significa funcionando
Semana del 28 de septiembre al 4 de octubre. Un router nuevo, un portátil que se quedó sin Wi‑Fi tras actualizar, un backup cifrado que había que poder restaurar y el nacimiento de Skynet: cuatro frentes con la misma lección, que un sistema no está listo cuando su configuración existe, sino cuando la ruta completa responde.
Mis formularios escribían en la nada
Semana del 21 al 27 de septiembre. Fui a terminar las pantallas de entrenamiento y nutrición de Forma y descubrí que parecían funcionar sin hacerlo: una tabla de series que no guardaba nada, un plan de 16 semanas congelado en la primera y unas cantidades que llegaban a la pantalla y se tiraban en el último metro.
Mi CI se puso en verde sin ejecutar un test
Semana del 14 al 20 de septiembre. Monté un job de CI para verificar las migraciones contra PostgreSQL de verdad. Pasó a la primera, en verde, sin ejecutar ni un solo test. Tirando de ese hilo apareció el patrón que ordenó la semana entera: el sistema estaba lleno de afirmaciones que nadie comprobaba.
Así mejoré mi escaparate: web, LinkedIn y blog
Semana del 7 al 13 de septiembre: revisando el escaparate —mi web, mi LinkedIn y este blog— descubrí que casi todo lo roto eran promesas. Flechas que no llevaban a ningún sitio, un idioma que Google no podía leer, una tarjeta ilegible en el feed y una ficha de proyecto que exageraba.
Mi test medía la caja, no las letras
Semana del 31 de agosto al 6 de septiembre: una semana de vacaciones en la que sólo hubo tiempo de mirar. Y mirando aparecieron tres bugs que tenían el CI en verde: un titular recortado, un consentimiento que no consentía y un botón encima de otros tres.
El verde ya significaba peso
Semana del 24 al 30 de agosto: terminé el panel de Forma y, al ir a homologar los colores de sus gráficas, descubrí que el valor por defecto de un componente llevaba meses afirmando algo falso en cuatro pantallas distintas.
El día de la semana era mi clave primaria
Semana del 17 al 23 de agosto en Forma. Un lunes por la mañana la app decía que ya había entrenado dos sesiones. La tarjeta sumaba bien: el error estaba en una cadena de texto que fundía qué era una sesión con cuándo tocaba hacerla. De ahí salió el resto de la semana.
Para arreglar una pantalla, primero construí otras dos apps
Semana del 10 al 16 de agosto en Forma: para poder trabajar la interfaz con IA acabamos construyendo dos aplicaciones auxiliares —un laboratorio de overlays musculares y un playground sin backend—, y con ellas las tarjetas de entrenamiento pasaron de una silueta genérica a un cuerpo con los músculos del día encendidos.
Mi app dejó de inventarse los números
Semana del 3 al 7 de agosto en Forma: construimos el generador público de plan nutricional, montamos el embudo desde la portada, y conseguimos que las pantallas dejaran de enseñar cifras de relleno para leer el plan de verdad. Estos son los problemas que nos encontramos por el camino.
Los catálogos que necesita un plan de nutrición con IA: la semana de fontanería antes de la magia
Semana del 27 de julio al 2 de agosto: 19 PRs en Forma. Cerré la integración con Withings, pulí tarjetas y tablas de datos, y construí los catálogos globales de macros y de productos de tienda. Nada de eso se ve. Todo eso es lo que hace posible generar un plan la semana que viene.
Desarrollo dirigido por specs con Gentle AI: proceso impecable, factura en tokens brutal
Semana del 20 al 26 de julio: cambié mis skills caseras de Jira por el ciclo SDD de Gentle AI en Forma — 20 PRs, autenticación multi-usuario real y landing pública. El proceso es excelente. Cada historia se comía una ventana de 5 horas y el viernes agoté la cuota semanal.
62 pull requests en una semana: desarrollo dirigido por especificaciones con agentes IA
Semana del 13 al 19 de julio: 62 PRs mergeadas en Forma con un bucle de specs y agentes, OAuth cifrado de Withings, mi plan real de entrenamiento convertido en software — y una tarde entera perdida depurando un Google Analytics que funcionaba perfectamente.
Forma madura: la semana en que estandaricé la fábrica de software
Resumen del 6 al 12 de julio: Forma, la app de seguimiento físico que arranqué la semana pasada, gana músculo pantalla a pantalla, y con ella una fábrica estandarizada - dos skills (jira-sdd-ai y jira-sdd-specs) para gestionar e implementar el proyecto, y un agente de operaciones (Hermes) que levanta los sites en nginx, los publica y verifica con un solo comando: for up.
Flujo multi-agente: ChatGPT, Claude y Hermes Agent
Una semana usando ChatGPT, Claude y Hermes para convertir Forma, TokenMeter, Backend to the Future y el homelab en una línea de montaje más repetible.
Un agente de IA operando mi homelab con Home Assistant
Una semana usando Hermes como operador de casa: Home Assistant en armv7, integraciones rotas, Plex, Blink, estadísticas corruptas y pequeñas automatizaciones que ahorran sustos.
De rediseño a producción: la semana en que todo empezó a medirse
Resumen del 15 al 21 de junio: analytics con consentimiento RGPD, SEO para indexar, una guerra contra los datos ruidosos en TokenMeter, y la idea que conecta todo — no puedes mejorar lo que no puedes ver.
La semana en que los proyectos empezaron a converger
Resumen del 8 al 14 de junio: tres rediseños enviados, una revisión de código hostil, un laboratorio de IA local y la sensación de que todos mis proyectos cuentan ya la misma historia.
LLMs locales en una RTX 3060: qué cabe en 12 GB de VRAM
Corriendo Gemma 4 y Qwen 3.5 Coder en local sobre una NVIDIA RTX 3060 de 12 GB — qué entra en esa VRAM y qué rinde de verdad.
Arquitectura Hexagonal en Spring Boot: puertos y adaptadores
Cómo aplico puertos y adaptadores en servicios Spring Boot reales — sin la ceremonia.