Any visitor can suggest a change to this page. An AI moderates the suggestion, a second AI generates the edit, and the result becomes a real GitHub pull request that CI checks, auto-merges, and Vercel deploys — all within 30–90 seconds. No human in the loop.
Receive
GitHub auth verified, honeypot checked, saved as queued — no AI called yet
Gate
Kill switch check (DB read), then moderation and scope classification — two sequential Haiku calls before any Sonnet spend
Generate
Sonnet reads current page content and your suggestion, then calls update_sections or update_theme
Commit
Output validated against Zod schemas, then written to a new branch and a pull request opened
Ship
CI verifies only allowlisted files changed, PR auto-merges, Vercel rebuilds, live push to all open tabs
Receive
GitHub auth verified, honeypot checked, saved as queued — no AI called yet
Gate
Kill switch check (DB read), then moderation and scope classification — two sequential Haiku calls before any Sonnet spend
Generate
Sonnet reads current page content and your suggestion, then calls update_sections or update_theme
Commit
Output validated against Zod schemas, then written to a new branch and a pull request opened
Ship
CI verifies only allowlisted files changed, PR auto-merges, Vercel rebuilds, live push to all open tabs
Try it yourself
The 3D shape on the right is editable too — try suggesting a different geometry, color, material, or animation. Even the accent color running through the whole site is fair game.
Hover any element on this page — a small pencil icon appears inside it. Click it, type a suggestion in plain English, and submit. The pipeline runs in the background; the page updates itself when the deploy lands.
- "Rewrite the opening paragraph in a more casual voice"
- "Change the accent color to a warm orange"
- "Change the 3D shape to a TorusKnot"
- "Make the stats section zoom in slower"
- "Split the pipeline steps into two groups — before and after the PR opens"
- "Add a section about what kinds of suggestions work best"
The best suggestions are structural — splitting a section, merging two into one, reordering, changing a section's type, or adjusting an animation. Rewrites work well too. What won't work: requests to add images, embed videos, or change how the site behaves. The agent works within a fixed set of section types and cannot touch application code.
Suggestions can be rejected — that's expected
A suggestion is rejected if it's off-topic, potentially harmful, or outside the agent's scope. Claude Haiku reviews every submission first, so rejections are fast. If your suggestion fails, try rephrasing it as a structural edit — rewrite this section, add a section about X, change the 3D shape.
The agent cannot break the site
A GitHub Actions workflow checks every agent pull request against an exact allowlist: only content/sections.json and theme/tokens.json may be changed — no application code, no config files. The check runs on GitHub's infrastructure, independent of the AI pipeline.
What the agent can and cannot do
The agent can rewrite text, split or merge sections, reorder the page, change animation presets, and adjust the 3D scene. It cannot write HTML, invent new section types, or touch application code. What you see on this page is everything the agent can change.
Under the hood
- Zod schema validation — bad shapes, missing fields, and out-of-range values are caught before any commit
- Element locking — further submissions for the same element return HTTP 409 while a suggestion is in-flight
- Kill switch — a single setting halts the pipeline before any AI call; no redeploy needed
- Anthropic spend cap — a hard monthly limit; when reached, the pipeline marks suggestions failed
- Held-comment queue — when require_approval is enabled, every suggestion is held for owner review before the PR is opened; patch is re-generated against current state on approval
The 3D scene is a declarative JSON config — geometry type, material properties, lighting, and animation parameters. The agent edits the config; it never writes shader code. React Three Fiber reads the JSON and renders it. The same pattern applies to the whole page: the agent manipulates structured data, and registered components handle rendering.
Every agent-opened pull request follows a consistent commit format so agent changes are easy to spot in the git history:
agent(elevator-pitch): rewrite opening paragraph to active voice“Every change has a real GitHub PR, real CI, and a real deploy — because real work is happening at each step.”
“The thing is interesting because it's real, not because it claims to be.”