Ocho años de querer, tres meses construyendo con IA
Cómo un desarrollador creó Syntaqlite usando Claude Code y qué aprendió en el proceso.
Durante ocho años, quise tener herramientas de desarrollo de calidad para trabajar con SQLite. Después de ~250 horas de esfuerzo durante tres meses, finalmente publiqué Syntaqlite, y creo que la razón principal fue gracias a los agentes de IA.
¿Por qué lo quería?
En mi trabajo en Perfetto, mantengo un lenguaje basado en SQLite para consultar trazas de rendimiento. Tener un lenguaje popular significa que los usuarios esperan cosas como formateadores, linters y extensiones de editor.
Había hoped que podíamos adaptar algunas herramientas de SQLite de código abierto pero cuanto más miraba, más decepcionado estaba. Lo que encontré no era lo suficientemente confiable, rápido o flexible.
Lo que hace difícil este proyecto
El corazón de cualquier herramienta de desarrollo basada en lenguaje es el parser. Si tu parser no es preciso, tus formateadores y linters heredarán inevitablemente esas imprecisiones.
Desgraciadamente, a diferencia de otros lenguajes, SQLite no tiene una especificación formal describiendo cómo debe ser parseado. No expose una API estable para su parser.
El proyecto está escrito en C en un estilo increíblemente denso. He pasado días solo entendiendo la API de tablas virtuales. Intentar comprender toda la pila del parser era desalentador.
Había más de 400 reglas en SQLite que capturan toda la superficie del lenguaje.
Cómo aconteceu
He estado usando agentes de codificación desde principios de 2025 (Aider, Roo Code, luego Claude Code desde julio). A finales de 2025, los modelos parecieron dar un paso significativo en calidad.
Decidí poner a prueba la versión más maximalista de IA: ¿Podía vibe-code todo usando solo Claude Code?
Durante enero, iteré, actuando como gerente técnico semi-delegando casi todo el diseño y la implementación a Claude. Funcionalmente, terminé con un parser en C extraído de fuentes de SQLite, un formateador construido encima, soporte tanto para SQLite como para las extensiones PerfettoSQL.
⚠️ El problema
Cuando revisé la base de código en detalle a finales de enero, era espagueti completo. No entendía grandes partes del código. Decidí tirar todo y empezar desde cero mientras cambiaba la mayor parte a Rust.
Por qué la IA es la razón por la que existe este proyecto
Superar la inercia
Una de mis mayores debilidades como ingeniero de software es mi tendencia a procrastinar cuando enfrento un gran proyecto nuevo. La IA básicamente me permitió dejar de lado todas mis dudas sobre decisiones técnicas, mi incertidumbre sobre construir la cosa correcta y mi reticencia a comenzar dándome problemas muy concretos para trabajar.
Más rápido escribiendo código
La IA resultó ser mejor que yo en el acto de escribir código, asumiendo que el código es obvio. Documenta cosas que yo saltaría, dispone el código consistentemente con el resto del proyecto.
La misma velocidad que hace que la IA sea great para código obvio también la hace great para refactorización.
Asistente de investigación
De todas las formas en que usé la IA, la investigación tuvo por lejos la mayor proporción de valor entregado al tiempo invertido.
Nunca había escuchado sobre el formateo Wadler-Lindig pretty printing. Cuando necesitaba construir el formateador, la IA me dio una lección concreta y accionable desde un punto de vista que podía entender.
Más de lo que habría construido solo
Sin IA, habría construido algo mucho más pequeño, probablemente sin extensiones de editor ni sitio de documentación. La IA no solo hizo el mismo proyecto más rápido. Cambió lo que era el proyecto.
Dónde la IA tuvo sus costos
La adicción
Hay una parallel incómoda entre usar herramientas de codificación IA y jugar a las máquinas tragamaderas. Enviabas un prompt, esperabas, y dependiendo del resultado se creaba un ciclo de dependencia.
Perder el touch
Varias veces durante el proyecto, perdí mi modelo mental de la base de código. No la arquitectura general o cómo encajaban las cosas. Pero los detalles día a día de qué vivía dónde.
El problema más profundo era que perder el touch creaba una ruptura de comunicación. Cuando no tienes el hilo mental de lo que está pasando, se vuelve imposible comunicar meaningfully con el agente.
La corrosión lenta
Encontré que la IA me hacía posponer decisiones clave de diseño. Porque la refactorización era baratos, siempre podía decir "ya lo dealé más tarde". Pero no lo era: posponer decisiones corroía mi capacidad de pensar claramente.
Las "reglas normales" del software todavía aplican en la era de la IA: si no tienes un fundamento claro (arquitectura clara, límites bien definidos), te quedarás persiguiendo bugs eternamente.
Conclusión
Este proyecto demuestra que la IA puede permitir a desarrolladores construir proyectos significativos que habrían parecido demasiado difíciles o tediosos antes. Pero viene con costos reales: posible adicción, pérdida de contacto con los detalles del código, y la necesidad de disciplina en decisiones de diseño.
La clave parece ser usar la IA como una herramienta que amplifica tus habilidades, no como un reemplazo de tu pensamiento crítico y toma de decisiones.
Compartir artículo
Escrito por
Lalit Maganti
Apasionado por el desarrollo web, las herramientas modernas y compartir lo que aprende en el camino. Más artículos abajo.
Siguiente artículo →
Cómo Aprender React, TypeScript y Tailwind en 2026
Artículos relacionados
Next.js 16.2: Mejoras para IA y Agentes de Código
AGENTS.md en create-next-app, browser log forwarding y next-browser para debugging de agentes AI.
Oxlint: El linter que es hasta 100 veces más rápido que ESLint
¿Es hora de abandonar ESLint? Oxlint, escrito en Rust, promete ser 50-100 veces más rápido. Una guía completa sobre migración y beneficios.
Tu CQRS en banca tiene dos verdades y nadie las reconcilia
El comando pasó, el evento llegó a SQS y la pantalla mostró un saldo falso. El bug no estaba en el command side, sino en el lado que nadie mira.