SOUNDTRACK // IRON UNDER PRESSURE
JEZWEB // GRID OSv2026
JEZWEB

> product // flare-cms // the making of

Flare CMS
how it was made.

Flare CMS was built to answer questions we couldn't answer any other way: what should an AI-native CMS actually be, and what does a design system need to guarantee before an agent can drive it? It worked well enough that we stripped it back to a publishing skeleton, called it done, and put the real answers into AgentPress.

75
commits
9
active build days
10
build sessions
7 weeks
concept to archive

The short version

It started on a Sunday afternoon in March 2026 as a spec file: a `<!--flare: name -->` marker syntax and a full architecture diagram. Nine days later it had auth, multi-tenancy, an inline editor, a media library, AI-generated pages via Google Stitch, a Cloudflare Workflow pipeline, a colour wheel, a research dossier step, an MCP server, subdomain routing, and three demo sites. Then, on day ten, we stripped most of it back out.

The point was never to sell it. It was to find out where AI page composition breaks, what a shared design system has to guarantee, and when a human approval step is load-bearing. Every answer went straight into AgentPress. Flare CMS was the homework. The homework is done.

● 16 Mar 2026: the spec

A marker syntax and an architecture

Day one was two commits: a `<!--flare: name -->` marker spec and a concept architecture, with a demo site wired in to prove the idea was real. No running code yet, just a clear shape to build toward.

● 17 Mar 2026: three phases in one day

Worker scaffold, auth, editor v4

Eleven commits landed: Worker scaffold, R2 seed data, serve pipeline, better-auth with D1, a multi-tenant architecture, and an inline contenteditable editor using the native Popover API. Phase 1 through Phase 3 shipped before the day ended, with the SESSION.md updated to say 'ready for dogfood.'

● 18 Mar 2026: the editor sprint

From 'it works' to 'it's actually usable'

Twenty-one commits in one day. Auto-save, drag-and-drop images, a media library, rich CSS style controls, section templates, a context-aware right-click menu, and a redesigned editor from sidebar to thin top bar. Five bugs fixed from dogfood, including one that was destroying page styles on save.

● 19–20 Mar 2026: AI generation

Stitch, workflows, and the full wizard

Google Stitch came in for AI page generation. A Cloudflare Workflow replaced `waitUntil` for the long-running pipeline. A wizard was built, then rebuilt, with persistent state that survived tab close and device switch. The research dossier step, search grounding, AU business writing guidelines, and a colour wheel with palette harmony all landed in two days. The MCP server got a proper SDK rewrite with OAuthProvider and Streamable HTTP transport.

● 21–23 Mar 2026: multi-page generation

Single-call generation and Container experiments

Auto-linked navigation between pages after generation, subdomain resolution for site serving, and a Cloudflare Container for long-running Stitch API calls. The goal was matching Stitch's own UI behaviour, homepage-first generation with shared header and footer injection. Stitch timeout stretched to five minutes for multi-page single-call runs.

● 24 Mar 2026: the lesson lands

Direct CLI preferred, key rotation disabled

Three commits that tell the real story: a `/build-website` skill brief, build-website learnings (direct Stitch CLI, exact brand colours), and key rotation disabled because direct CLI calls were simply better. The platform was teaching us what mattered.

● 25 Mar 2026: the strip

Back to basics

One commit: 'Strip Flare CMS to publishing + editing only, add CLI.' The AI generation pipeline, wizard, research dossier, colour wheel, all removed. What remained was a clean publish-and-edit platform. The experiment was over; the learnings were captured.

git log: “Strip Flare CMS to publishing + editing only, add CLI”

Day ten. Everything the lab was built to test had been tested. This commit is the whole story in one line.

Tried, measured, set aside: the judgement lives here as much as in what shipped.

● dropped

The full AI generation wizard

Stitch integration, wizard v2, research dossier step, colour wheel, and the Cloudflare Container for long-running generation were all removed in one commit on Mar 25. The questions they answered were answered: there was no reason to maintain the scaffolding.

● rebuilt

Editor sidebar → thin top bar

Editor v4 shipped with a full sidebar. Editor v5, the next day, replaced it with a thin top bar. The sidebar pattern was wrong for inline editing and the commit record shows the decision was made and executed same session.

● dropped

Stitch key rotation

'Disable Stitch key rotation (direct CLI calls preferred)': sometimes the right answer is the simpler one, and the commit log records the moment we admitted it.

Want something built like this?

This is how we work: in the open, measured, honest about the dead ends.