Lalit Maganti wanted to build a proper SQLite developer tool for eight years. SQLite has no formal specification, no stable parser API, and a C codebase he calls "fiendishly difficult" to understand. Parsing SQL exactly like SQLite means extracting chunks of that codebase and adapting them. It's hard and tedious work, with over 400 grammar rules to specify. So the idea kept dying. Then AI coding agents got good enough that he decided to try what he calls "vibe-coding" the whole thing with Claude Code.
Three months and roughly 250 hours later, he had syntaqlite. It parses SQLite and PerfettoSQL (a custom dialect he maintains at Google), formats code, and runs in a web playground. But when Maganti reviewed the codebase, he found what he calls "complete spaghetti." Functions scattered across random files. Some files had grown to several thousand lines. He didn't understand large parts of the Python extraction pipeline the AI had written. The code worked but would never survive integration into real tools.
So he threw it away and started over. The second time, Maganti switched most of the codebase to Rust and changed how he used AI. Instead of delegating design and implementation, he took ownership of every decision. AI became "autocomplete on steroids" inside a tighter process: opinionated design upfront, reviewing every change, fixing problems immediately, building scaffolding like linting and testing to catch AI mistakes. The core features came together faster, and the codebase was actually maintainable.
He spent weeks following AI down dead ends. He admits the first version was fragile. But he also shipped something he'd wanted for eight years in three months, which is the subject of Eight years of wanting, three months of building with AI. Hacker News commenters appreciated the honesty. One noted it reflects "the realistic experience of serious software engineers using AI coding tools," a sentiment echoed in I used AI. It worked. I hated it.