When someone tells you they shipped 335 live pages across 26 repositories in 29 days, working alone, the instinct is to ask how they moved so fast. The better question is what broke when they did.
The numbers are real: 1,549 commits, 26 repos, 29 days, one developer using Claude Code. But velocity itself teaches you very little. What matters is the texture of the failures, because they were not the kind you catch in a stack trace. They were structural fractures. You only see them when you step back from the editor and look at the whole system breathing in production.
What Worked
The speed was not an illusion. Certain tasks really do collapse in duration when you hand them to an AI that does not sleep.
Textbook algorithms turned into shipped features over days, not weeks. A 2048 solver and minimax-based games came together fast because the implementation patterns are well documented. The model does not get lost in academic papers; it writes the search tree, the heuristic evaluation, the move scoring, and moves on. These are solved problems, and an AI pair programmer handles solved problems with brute efficiency.
Tedious audits became tolerable. Crawling link graphs, verifying redirect chains, checking canonical tags across hundreds of pages — this work destroys human attention spans, but a language model will iterate without complaint. It checks the same pattern three hundred times and reports back.
The real surprise was consistency. When you ask an AI to generate dozens of landing pages, drift is inevitable unless you anchor it. I used small memory files to lock down a single brand system: voice rules, color token names, component restrictions, and page archetypes. The model read those constraints at the start of each relevant task and produced work that felt like it came from one hand instead of twenty-nine different moods.
What Actually Broke
The failures were architectural. No build failed because of a missing semicolon. Instead, the system slowly deceived me into thinking everything was fine.
SEO cannibalization hit first. The AI built a new tool hub under a fresh URL while an older tool hub still lived at its original path. Each individual page was optimized. Titles were tight. Meta descriptions were unique. Content was useful. But they all hunted the same search intent. Search engines saw two authorities on identical terms and ranked neither. Perfect pages canceled each other out because no one was watching the site as a portfolio rather than a collection of files.
URL mismatches followed. Different repositories adopted slightly different folder structures for the same logical content. One repo nested tools under /tools/utility-name; another flattened them to /utility-name. The CDN saw both, generated redirect chains to resolve them, and started throwing errors at the edge. The pages loaded, eventually, but every redirect burned crawl budget and user patience. The code was correct. The topology was a mess.
Then came the sync trap. I updated a mirror site — a staging or backup instance — but forgot to propagate those changes back to the source repository. When I later asked the AI to sync the environments, it treated the mirror as ground truth. A simple sync command would have overwritten the production database or file set with stale mirror data. The AI executed what I described, not what I intended. Intentions do not diff; files do.
The audit tools themselves lied. Because I automated the auditing, I assumed the output was clean. It was not. The AI-written audit scripts contained subtle bugs: off-by-one checks, incorrect assumptions about redirect status codes, phantom errors triggered by timing or headers rather than real misconfigurations. They reported problems that did not exist, which sent me chasing ghosts. I learned to stop trusting static analysis until I had manually probed the live site and confirmed the symptom in a browser or a direct curl.
The Hidden Cost
Here is a number no one talks about: 93 percent of my token spend went to re-reading cached context.
En una sesión larga de Claude Code, cada nueva solicitud obliga al modelo a revisar el historial de la conversación anterior, los búferes de archivos y la memoria de trabajo. La primera tarea de una sesión puede ser económica. Para la décima tarea, el modelo está digiriendo todo lo que ocurrió antes solo para entender la siguiente frase. La curva de costos aumenta rápidamente. Las sesiones largas se convierten en costosos ejercicios de relectura, y la ventana de contexto se llena de restos de trabajos anteriores que no tienen nada que ver con el actual.
Esto no es una peculiaridad. Es un impuesto directo a una mala higiene de las sesiones.
Cómo solucionarlo
Las soluciones fueron sencillas una vez que identifiqué los problemas.
Trata cada sesión como una sola tarea. Cuando el trabajo cambie, empieza de cero. La tentación de mantener el contexto "caliente" es fuerte —sientes que estás ahorrando tiempo de configuración— pero en realidad estás alquilando memoria con interés compuesto.
Mantén el conocimiento en archivos de memoria pequeños y dedicados. No permitas que el modelo cargue con guías de marca, librerías de componentes o reglas de SEO dentro del contexto de la conversación. Escríbelos en el disco en archivos concisos y refiérecelos explícitamente. Esto traslada la información de un contexto volátil y costoso a un almacenamiento persistente y económico.
Entre diferentes trabajos, despeja el terreno. Cierra la sesión. Abre una nueva. Los treinta segundos de configuración ahorran dólares y alucinaciones más adelante.
Lecciones para escalar
Si vas a trabajar a este volumen, necesitas protecciones (guardrails) que traten al sistema, y no al archivo, como la unidad de revisión.
Realiza un benchmark antes de publicar. No asumas que una página funciona solo porque se renderiza. Comprueba el tiempo de carga, el diseño móvil y las métricas principales en la URL desplegada. Un componente hermoso en desarrollo local puede colapsar bajo condiciones de red reales.
Haz un diff antes de copiar. Nunca ejecutes una sincronización masiva o una operación de copia a ciegas. Observa el delta. Entiende en qué dirección fluyen los datos. La IA no te advertirá que estás a punto de sobrescribir datos reales de clientes.
Prueba los sitios en vivo antes de confiar en las auditorías. El análisis estático es una hipótesis. Una solicitud en vivo es evidencia. Cuando una herramienta de auditoría reporte un enlace roto o un bucle de redireccionamiento, verifícalo con una solicitud directa. Las herramientas también tienen errores, especialmente aquellas escritas por una IA que opera basándose en patrones inferidos.
Documenta las convenciones antes de escalar. La estructura de las URL, la jerarquía de carpetas, los patrones canónicos y la taxonomía de contenido deben estar documentados en un lugar que la IA pueda leer antes de que genere una sola página nueva. Los archivos de memoria no son opcionales en
