OOscar Dev BlogWeb · AI · Craft
Volver al blog
AI#ai#sqlite#claude-code#devtools

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.

LLalit Maganti5 de abril de 202611 min de lectura

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

L

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