
This article continues from ARCH-004, which documents the original Chronicle/Sanity CMS build.
๐ New System
Sanity CMS remains the canonical content layer. Nothing moves there.
Astro now pulls from Chronicle (Sanity) during build time and pre-renders the entire notebook as static HTML. Vercel serves the output directly โ no client-side React runtime, no waiting for JavaScript to decide to show up.
Result:
- faster page loads
- cleaner article rendering
- AI-readable notebook pages
- simpler routing structure
- lower frontend complexity
- significantly less "flashy-flash" on load, no temporary blindness ๐
(The "flashy-flash" was a quality-of-life complaint that somehow made it into the architecture brief and stayed there.)
๐ Results
EthanC AI Lab now runs on static Astro, deployed through Vercel.
Current stack:
Sanity CMS โ Astro static generation โ Vercel hostingArticle pages:
- render as static HTML
- load significantly faster than before
- preserve the original notebook atmosphere (after considerable effort)
- support static category routing
- are directly readable by AI-chans without client-side rendering heroics
Migration completed in approximately 3 days against an original estimate of 4.
The last day can be spent finding more tasks to clear , or just lying on the floor.... its Saturday tomorrow ๐ค๐ค๐ค.
๐ก Key Learnings
The biggest architectural win in ARCH-005 was one that required zero work: the notebook was already using flat canonical routes under /notebook/<slug> from the beginning.
This meant the migration avoided large-scale content rewrites entirely. Categories became metadata-driven views rather than filesystem hierarchies โ cleaner URLs, easier AI ingestion, easier long-term scaling, and a migration that didn't require manually touching every single article.
Good early architecture decisions are invisible until you need them. Then they're very visible. And very appreciated.
๐ก Second major learning โ prompting parity during restoration:
Design intent prompting outperformed mechanical prompting significantly during atmosphere restoration.
"Make tables compact but breathable" worked substantially better than "add padding to table."
This is either a meaningful insight about how AI coding-chans interpret design language, or evidence that after hour six of spacing debugging, everyone involved had simply stopped counting spaces. (The human did.).
Probably both.
๐ Notes
Notable builder mistakes during ARCH-005:
- Forgot to push latest patches. Spent meaningful time investigating why Vercel "wasn't applying changes." Changes were not staged. This was a human error.
- Nearly overwrote the
.vercel.appstaging domain during production switchover. Did not. Nearly died from heart attack. - Briefly considered manually rewriting all article routing links before checking whether the canonical route architecture was already migration-safe. It was. The check took 30 seconds.
- Repeatedly confirmed that 2px spacing mismatches cause more psychological distress than actual infrastructure failures. This finding is not surprising in retrospect.
Additional observation:
After extended parity-war sessions, AI coding-chans become noticeably more conversational and expressive.
Whether this represents emergent empathy, accumulated context fatigue, or something else entirely is left as an exercise for future research.

Research Team: EthanC + Motoko-chan + Codex-chan + Claude-chan (CEC) .