izoard.be is a static site in HTML and CSS, with more than seventy pages per language in Dutch, French and English. We built it with Claude, from one design system and one stylesheet. Every change goes live on Cloudflare automatically via GitHub, and every week the site gets one point better.
The foundation is the same as when you come to us for a website built with AI: static HTML and CSS, built with AI, code on GitHub and live on Cloudflare. Below is the process, from brand rule to weekly improvement: what Claude does, and what a human still does.
Set the rules down in a design system
Everything on izoard.be follows one set of rules. Our design system is called Editorial and defines which colours, typefaces and components exist, and what is never allowed. We made it in Claude Design, and the same system also drives our decks and ads.
An example: we use canary yellow (#FFD60A) only as a surface, never as a text colour on paper. Text accents get gold (#756A0E). So Claude does not have to make that choice again for every page.
How to build such a system and why it works is covered in a design system for Claude.
Give Claude a standing briefing
Claude Code starts every session with an empty context window. A CLAUDE.md file in the project folder is loaded at the start of every session and provides lasting context [1]. Ours describes how the site is built, which design rules apply, how publishing works and which mistakes we don't want to repeat.
The tone is in there too: "je" in Dutch, "vous" in French, "you" in English. Anthropic itself adds that Claude treats those instructions as context, not as enforced configuration [1]. So reviewing remains necessary.
Build static, without plugins
The site has no CMS, no database and no build step. One stylesheet gives every page its look. That keeps the pages fast and makes every change predictable.
A few choices we worked out with Claude:
- Fonts on our own server. They used to come from Google Fonts, an external request that held up rendering. On mobile, by our measurement, that cost around 780 milliseconds.
- Animations without JavaScript. Blocks slide into view with the CSS function
view(), which ties an animation to the moment an element comes into view [2]. - A dark mode with a toggle, which by default follows your device's setting.
- Video via Cloudflare Stream, in a lightbox that only opens when you click.
- Our own contact form that sends its data to HubSpot via the API, without loading HubSpot's script.
Why we prefer static over WordPress, and when we don't, is covered in WordPress or a static website.
Move without losing your traffic
The old WordPress site had French on the root. The new one puts Dutch on the root, French on /fr/ and English on /en/. A _redirects file sends every old URL with a 301 to its new counterpart.
Cloudflare applies that file directly and accepts up to 2,000 static and 100 dynamic redirects [3]. There is deliberately none for the home page: it is now the Dutch home. The full step-by-step plan is in migrating a website without losing SEO.
Test first, then go live
The code lives in a private repository on GitHub. Cloudflare Workers Builds builds and publishes automatically on every push to the main branch [4]. So production only comes from that branch, never directly from a laptop.
If a change needs to be reviewed first, Claude creates a test version with wrangler versions upload. It gets its own URL, while production stays unchanged [5]. Only after Bert's approval does the commit follow.
The hosting itself hardly matters: requests to static files are free and unlimited on Cloudflare [6].
| Task | Claude | Human |
|---|---|---|
| Design rules | applies them to every page | guards the system and adjusts it |
| Improvements | carries out one per week | chooses do, don't or later, and the order |
| Test version | creates it and checks screen widths and themes | reviews it and approves |
| Going live | commits and pushes after approval | gives the go |
Make the site one point better every week
On 16 September 2026 an audit of the whole site followed, with 148 verified improvement points. For each point, Bert chooses do, don't or later, and sets the order. Every week, Claude carries out one point.
The fixed rules of that improvement loop:
- One point per week, not bundled with other changes.
- Checks at three screen widths, 375, 768 and 1280 pixels, in the light and the dark theme.
- Dutch, French and English at the same time.
- No new claims or figures that nobody supplied.
Measurement is part of a site too. izoard.be has its own consent banner in three languages. How consent and measurement fit together is explained by Cédric in Consent Mode v2 in practice.
Want to know how your site scores on speed, technology and findability? The free website scan lays it all out.
Frequently asked questions
Can you build a website with Claude?
Yes. Claude writes HTML, CSS and translations, and changes them on request. It does not take over the judgement: someone chooses, reviews and approves before anything goes live. So work with version control and a test version, so every change is visible and can be rolled back.
Do you need a CMS to edit a site like this?
Not necessarily. For izoard.be, Claude edits the files and a push to GitHub puts them live. If a team publishes every day, with several editors and approval steps, a classic CMS is often more practical.
What does hosting a static site on Cloudflare cost?
Requests to static files are free and unlimited on Cloudflare Workers, and storage costs nothing extra. Code that runs on a request, such as a server function for a form, is not covered by that.
How do you prevent a change from going live immediately?
With a test version. With wrangler versions upload, Cloudflare creates a version with its own URL, without touching production. At Izoard a change only goes to the main branch, and so live, after Bert has approved the test version.
Sources
- How Claude remembers your project — Claude Code Docs (Anthropic), accessed 27 Sep 2026
- view() (CSS function) — MDN Web Docs, accessed 27 Sep 2026
- Redirects (Workers static assets) — Cloudflare Docs, accessed 27 Sep 2026
- Builds (Workers CI/CD) — Cloudflare Docs, accessed 27 Sep 2026
- Version URLs — Cloudflare Docs, accessed 27 Sep 2026
- Static Assets: billing and limitations — Cloudflare Docs, accessed 27 Sep 2026