El punto de partida
Hace unos años hice lo que hace todo el mundo al aprender NextJS: un mini proyecto siguiendo un curso. Una página de Pokémon. Un ejercicio más.
Mi hija pequeña la usó para practicar con el ratón. Funcionó. Años después, ya fan de Monster High, me planteé algo más ambicioso: ¿y si hago una app para que practique a leer?
Raspé datos de la Wiki de Fandom, conecté un LLM para generar cuentos por personaje, y la cosa funcionaba. Pero eso era solo la excusa.
El objetivo
No quería "hacer que funcione". Quería practicar cómo se construye software sostenible con la IA como herramienta, no como atajo.
Así que transformé ese script de un solo archivo en un proyecto con arquitectura hexagonal, TDD estricto y Extreme Programming. Totalmente asistido por IA.
Cómo lo hice
El marco metodológico lo tomé de una masterclass del programa de mentoría de Software Crafters: "Extreme Programming con Agentes de IA". TDD estricto, Red → Green → Refactor, TPP, fakes en lugar de mocks, YAGNI, KISS. Las reglas estaban definidas. Mi trabajo fue otro.
Primero: conseguir que esas reglas funcionaran fuera de Cursor, el IDE que se usa en las masterclasses. Trabajé con GitHub Copilot y Antigravity. Eso me obligó a entender la lógica detrás de cada instrucción —no solo aplicarla— y a ver cómo cada herramienta las interpreta de forma diferente.
Para el backend, escribí un skill que delimitaba la arquitectura hexagonal: qué puede importar el dominio, dónde viven los puertos, qué hace cada capa. Con ese marco, la transformación del script inicial fue rápida y controlada.
Para el frontend, definí una spec técnica completa antes de escribir la primera línea: stack, requisitos funcionales, decisiones de diseño, estructura de carpetas, tema visual. El agente no improvisa. Trabaja dentro del marco que tú le das. Cuanto más preciso es ese marco, menos tienes que corregir.
No era pair programming de manual. Era ritmo. El agente implementa, tú supervisas, validas y corriges el rumbo. Feedback constante, código que puedes justificar.
Lo que me llevé
Mi hija tiene material para practicar lectura. Yo confirmé algo que ya intuía: el valor no está en usar IA, está en hacer que trabaje dentro de un método.
Lo que no esperaba fue el impacto de documentar la planificación en archivos explícitos. Cada fase del frontend arrancaba desde un documento de progreso: qué estaba hecho, qué tocaba, qué decisiones habían quedado pendientes. Sin eso, el contexto se pierde entre sesiones y el agente pierde el norte. Con eso, retomaba exactamente donde lo había dejado.
La combinación que funciona: método + planificación explícita + IA. En ese orden.
Explora el código
Todo el proceso está documentado en el repositorio: decisiones de arquitectura (ADRs), reglas del agente y la evolución completa del proyecto.
Ver Repositorio en GitHub →Conceptos aplicados
- TDD: Test-Driven Development: escribir el test antes del código. El test define qué debe hacer el software mediante el ciclo Red-Green-Refactor; luego escribes lo mínimo para que pase.
- Extreme Programming (XP): Metodología ágil enfocada en la calidad del software y la adaptabilidad, que combina prácticas técnicas (TDD, pair programming) con feedback constante e iteraciones incrementales.
- Arquitectura hexagonal: Patrón arquitectónico que aísla la lógica de negocio de los detalles tecnológicos (bases de datos, APIs) mediante capas, puertos y adaptadores, facilitando la testabilidad y el desarrollo desacoplado.
- Pair programming con IA: Colaboración en tiempo real en la que el programador humano asume el rol de supervisor estratégico (definiendo el rumbo y validando) y el agente de IA actúa como ejecutor técnico.
- Fakes: Implementaciones simplificadas que sustituyen a componentes reales en los tests. Por ejemplo, una base de datos en memoria en vez de una real.
- TPP: Transformation Priority Premise: guía para elegir la implementación más simple posible en cada paso del TDD.
- YAGNI: "You Aren't Gonna Need It" — no implementes algo hasta que lo necesites de verdad.
- KISS: "Keep It Simple, Stupid" — la solución más simple que funcione es la mejor.