Built in our lab

We try every idea on ourselves first. These are the tools we build and use every day.

aicmsThe content system this website runs on

Agents at workHow AI helps us write code and keep track of decisions

aicms

This website runs on aicms, a content system we work on in our lab. It has no editor in the usual sense. To change a page, you ask for the change in plain words in a prompt bar. An AI agent drafts it, you see a preview of the page as visitors will see it, and nothing goes live until a person accepts it.

We built it because every content system we tried kept its old editor and added AI on the side. We wanted the opposite: a normal-feeling admin where the prompt is the editor, and where a person stays in charge of every change.

  • Pages are plain filesEvery page is an HTML file on disk that the agent reads and writes, so nothing is locked in a database.
  • Every change is a preview firstThe agent proposes, a person accepts, and each accepted change is saved as a commit in the site’s own Git repository.
aicms · greenducklabs.com/how-we-workPreview, not live

Make the reply time in the first section say “within one working day”.

AgentDone. I changed one line in the facts beside the heading. The rest of the page is the same.

How we work, page head

First reply: the same day

First reply: within one working day

DiscardAccept

Ask for a change…

An example of the edit screen, redrawn for this page.

What it does

The prompt bar is the only way to edit text. Everything around it is the ordinary work a website needs, done by the same agent and the same rule: a preview first, then a person accepts.

A first site from a paragraph

On the first visit you describe the business in a paragraph. The agent drafts a starter: the home page headline, the menu, the footer line, an accent colour and the voice rules for later edits.

  • Reviewed before use
  • One click to accept
  • Or skip it

Blog posts on a calendar

A dedicated flow for posts. A draft can get a publish time and goes live on its own at that time. A calendar shows what is published, what is scheduled and what is still a draft.

  • Drafts and previews
  • Scheduled publishing
  • A content calendar

Translations and images

The agent can translate pages into the site’s other languages and make images for new posts. Realistic AI-made images get a small label on the page, as Article 50(4) of the EU AI Act requires.

  • Translated pages
  • Images for posts
  • Labels on AI images

The ordinary parts

A contact form that sends e-mail, site search, redirects, and a visit counter that works without cookies, so most visitors never see a cookie banner.

  • Contact form
  • Site search
  • Cookieless visit counter

What it taught us

Building aicms changed how we build AI features for clients. Three lessons came straight from it.

aicms · first visitStep 2 of 3

We are a small physiotherapy practice in the city centre. Two therapists, sports injuries and back pain, bookings by phone. Warm and plain, no jargon.

AgentHere is a starter for your review: a home page headline, a menu of four pages, a footer line, a calm green accent and five voice rules. Change anything before you accept it.

Home page headline

Back pain and sports injuries, treated by two people who listen

Voice rules

Short sentences. Say “you”. No medical jargon without an explanation.

SkipAccept the starter

An example. The practice and the text are made up for this page.

A preview beats a promise. People trust an AI change when they can see exactly what it will do before it happens. Now every feature we build that changes something shows the change first.

Small, checkable steps. An agent that makes one change at a time, and says what it changed, is easier to trust than one that does everything at once. We design our agents for clients the same way.

Plain files age well. Keeping content as files in Git means every change has a history and nothing depends on one vendor’s database. We use the same idea for prompts and test sets.

Agents at work

We use AI agents in our own daily work, with the same rules we build into client projects.

Coding agents help us write and test code. They work in a branch, run the tests and explain what they changed, and a person reviews every change before it is merged. They are fast at the routine parts of a change and need close review on the parts that matter. That is also why our test sets come first.

Code, reviewed. An agent drafts a change and its tests. A person reads the diff, asks for changes and merges it. Nothing reaches a client’s repository without that review.

A wiki of decisions. An assistant reads our notes and messages and keeps a private wiki of projects, decisions and open questions, so the reason behind a choice is not lost after a month.

Briefs and drafts. Agents prepare first drafts of proposals, reports and articles. We rewrite them, because a draft is a starting point, not a finished text.

Limits we keep. Our agents only see what their job needs, client data stays in the client’s systems, and anything that leaves the studio is read by a person first.

Memory you can read

The most useful agent we run is also the least visible. It keeps notes. After a call or a long thread, it writes down what was decided, who decided it and why, and links the note to the project.

Everything it writes is a plain page that a person can read, correct or delete. When an agent starts a new task, it reads these pages first, so it does not ask the same question twice.

We build the same kind of memory into client features when they need it: written down, readable and owned by the client.

Wiki · decisionsWritten by the assistant, checked by a person

Search: hybrid instead of vector only

Decided. The document search will combine keyword and vector search. Vector search alone missed exact product codes in the test set.

Why. Hybrid search found the right passage for every product-code question in the test set; vector search alone missed several.

Next. Re-run the full test set after the next import of documents.

Project: support assistantDecisionSearch

An example. The project and the note are made up for this page.

Why a lab

Because the only honest way to recommend a tool is to have used it on your own work first, with your own name on the result.

Build yours

If you want an AI feature that works the way these do, with a preview, small steps and numbers you can check, tell us about it.

Start a project