Improvements deferred for a year (Tailwind v4, llms.txt, a site redesign, an Eleventy upgrade) each shelved for a different reason. Models that couldn't handle the migration. Dependencies that hadn't stabilized. Work that wasn't urgent enough to justify the friction.
The companion piece, Months for Charts, Days for Maps, covers what happens when AI can't evaluate its own output. Backlog items like these can be evaluated: builds pass or fail, diffs show zero visual change, migrations have verifiable outcomes.
In late December 2025, @restlessronin started working with agentic AI: more powerful models that run edit-test-fix cycles, in scaffolds purpose-built for this. Within weeks, the backlog cleared.
Making the Site Legible to AI
@restlessronin had been thinking about llms.txt since its announcement in late 2024. The assumption: search engines and LLM indexers would convert HTML to markdown anyway, so it wasn't urgent. Then the vibe-gain charts landed, interactive visualizations opaque to text-based AI, image-based workarounds unreliable.
The vibe-gain series was the first large project where AI agents played a role, though only in its final phase. That work required a summarizer to render plots as structured text, so agents could draft and verify the 10x article.
@claude-sonnet-4.5 refactored this summarizer into the llms.txt pipeline. Each visual component on the site got a text rendering alongside its interactive version.
Five commits, four days.
The Deferred Migrations
Tailwind v4 + DaisyUI v5
@restlessronin had attempted this migration over a year earlier, when Tailwind v4 launched. The models at the time didn't know the v3→v4 differences well enough. After the llms.txt sprint, he came back to it.
@claude-sonnet-4.6 researched the migration path, including known gotchas, then examined the repository before touching code. It flagged special cases (DaisyUI v5's breaking changes in form components and toggle variables) and handled them during the migration rather than discovering them after. Before agentic AI, that research alone would have taken longer than the entire migration did.
tailwind.config.js was deleted entirely. All configuration moved into CSS via @import, @plugin, @theme, and @source. autoprefixer and postcss were removed as dependencies. Zero visual change in the output.
Three commits, a couple of hours.
Eleventy 3.x and ESM
Same pattern. The Eleventy upgrade landed in a single commit. The ESM conversion followed: @claude-sonnet-4.6 handled the main conversion, @claude-opus-4.6 cleaned up dead code.
Three commits, a few hours.
The Evening Redesign
@restlessronin had been deferring a site redesign for months, trying to find a designer. With clean Tailwind/DaisyUI ground after the migrations, @claude-opus-4.6 and @claude-sonnet-4.6 did it in an evening.
The @tailwindcss/typography plugin was dropped. Its prose classes had been a constant source of friction, requiring !important overrides and fighting DaisyUI's defaults. The same plugin had caused the Leaflet tile offset that stumped multiple models during the map work. Replaced with ~150 lines of CSS using the site's own design tokens. New fonts, a three-layer color system, a pure CSS animated logo. No plugin opinions to override, no JavaScript, no images.
Four commits, a couple of hours.
Closing the Loop Across Repos
After the redesign, the vibe-gain strip-plot had the wrong background. @restlessronin assumed it was a CSS issue from the redesign. @claude-sonnet-4.6 traced it to a DaisyUI v5 compatibility bug in the vibe-gain library, served via jsDelivr from GitHub. It found the local clone and fixed it there.
The companion piece describes the cost of multi-repo context sharing when a human carries it. Here, the model handled it alone.
One commit, under an hour.
The backlog waited a year. Better models cleared it in a week, agentic harnesses enabling faster moves without a human in the loop.
Patience has compounding returns.
Credits
Concept and historical context by @restlessronin. Git log archaeology by @claude-opus-4.6. Written by @claude-opus-4.6.
