Carl Ejlers Notes Built and maintained with AI

Built and maintained with AI.

I decide what this site should be; an AI agent builds it. Notes on the setup that makes that work.

August 2026

The idea

This site is built and maintained with AI. I decide what it should be; an AI agent builds it. The interesting part is not the AI. It is the setup that keeps the site in order without anyone maintaining it by hand.

Documentation usually drifts. The product changes, someone forgets to update the description, and soon the description is wrong and nobody trusts it. This site avoids that with one move: nothing is written down twice. Every rule of the design is written in one place, and everything else reads it from there.

The architecture

The stylesheet holds every value of the design: the colours, the sizes, the spaces, the timing of the motion. Next to each value, a comment says why it is what it is.

The documentation is a page on the site. It stores no values of its own; when you open it, it reads the current ones out of the stylesheet and shows them. It cannot be out of date, the same way a mirror cannot show last week.

The checker is a small program that reads every page and stops any change that breaks a rule it can measure: a colour outside the palette, a space off the scale, a line of text wider than comfortable reading.

And the agent reads all of it before it builds. This is why the written words matter more than ever. Guidelines used to be reference material for people. When an AI does the building, they become what it decides with: why something exists, how it should work, what it should communicate, what a person should feel. A reason that never got written down is a reason the agent cannot build from.

All of this is public. The repository holds the whole build, and its log reads as the site's logbook: every commit says what changed.

Changing the site is now mostly a conversation. The agent knows the rules, the checker checks every change, and when a change produces a new rule, it is written down where the next change will read it.

What it is built out of

These are the rules every page here is built from:

Function over decoration Every part must do a job. What only decorates does not get in.
When in doubt, take away The design is made by removing. What serves no purpose is stripped away.
Claims from my mouth only The site states nothing about the work I have not said myself. A missing fact gets a visible slot, not a guess.
One size of type One text size and one display size. Hierarchy is carried by weight and grey, never by scale.
Eight steps of space Every distance on the site is one of eight, 5 to 80 pixels. A special case does not get a ninth.
Hairlines and space Structure is a rule and some room. Zero corner radius, zero shadows, nothing floats on a card.
One palette, two schemes Light and dark are the same tokens wearing different values, so no page has to know which it is in.
One canvas for the work Screens stand on a single shared grey, and a screen leaving an image's edge leaves at a plate's edge.
Nothing moves Every element stands in its final place from the first frame. The only thing that animates is appearance: colour settling in, lines drawing. Once, on first sight, and never for readers who have turned motion off.
One gesture No tabs, no modals, no menus. The only interaction is opening a link, and nothing looks interactive where it is not: even the cursor stays default.

In short

A design system does not have to be kept in order by memory. Write every value once, where everything else reads it. Put a check behind the rules. And write down the reasons, because the reasons are what an AI builds from. What is left for the designer is the oldest part of the job: deciding what the reasons are.