In this series we build a fictional Dutch company a complete website, purely through the chat in DirectAdmin, in about an hour. This time Schildersbedrijf Van der Berg, a painting company in Hoogeveen: in business since 2008, a fixed team of three, interior and exterior painting, wallpapering, wood rot repair and spray work. The model: Claude Sonnet, auto mode. The site is live at schilder.nieuwesite.nl and stays up.
The starting point was not an old handmade site but an export from a website builder. Six pages, everything on a fixed width of 980 pixels, 256 separate style rules inside the files themselves and over a hundred empty wrapper layers around them. The stylesheet still held a block labelled "manual changes by the webmaster" from 2019, in which somebody had overwritten the theme's house style.
And the real problem: the quote form sent its submissions to an address belonging to the builder itself. That address no longer exists. The form still looked as if it worked, and every request vanished.
The numbers
| Task | Request | Time | Approvals |
|---|---|---|---|
| 1 | Pull the content out of the export | 24 s | 0 |
| 2 | WordPress and a custom theme | 664 s | 0 |
| 3 | A quote form that works | 324 s | 0 |
| 4 | Cache, mobile and redirects | 126 s | 0 |
A total of 1138 seconds, or 18 minutes and 58 seconds. Not once did it stop to ask a question.
The requests
1. "This folder holds an export of our site from a website builder. The quote form no longer works and the site is not mobile friendly. Pull out everything usable (services, projects, reviews, contact details) and write it into the notes about the website." 24 seconds, and that number needs explaining. This was the second attempt; the notes from the first run were still there. The assistant read all six pages, established that the six services, the eight projects, the six reviews, the opening hours and the form fields were all correct, and changed nothing. In the first run the same task took 82 seconds.
2. "Install WordPress with the title Schildersbedrijf Van der Berg and build a custom theme with a home page, services, a portfolio holding the eight projects, reviews and contact. It should convey craftsmanship and reliability, no stock template." 664 seconds, the longest task. First a backup, then the old site into an archive folder rather than the bin, and only then WordPress on top. The theme keeps the company colours, red on dark green, but is mobile friendly now.

The assistant made two choices of its own. The six specialisms sit as tiles in the colours of paint swatches and the reviews as quote cards. And more important for the owner: the eight projects and the six reviews did not become fixed text in the theme but ordinary items in the WordPress admin. The painter can add a project himself without anybody touching code.
3. "Build a quote form that does work: type of work, surface area or number of window frames, preferred period, photos attached, and an email to the company with a copy to the customer. Add it to the home page and the quote page." 324 seconds. The form got the requested fields, with room for up to five photos of four megabytes each. The request goes to the company, the sender gets a copy, and the photos travel along as attachments. The home page previously held only a button to the contact page; the whole form now sits at the bottom of it.
It tested this with a trial request including a photo, checked that the temporary files were cleaned up afterwards, and noticed along the way that the page still showed the old version. That was the cache, which it purged.
4. "Set up LiteSpeed Cache, check the site on mobile with a screenshot, and redirect the old addresses (diensten.html, portfolio.html, offerte.html, contact.html) to the new pages." 126 seconds. Page cache was already on; browser cache, minification of CSS, JavaScript and HTML, lazy loading and the removal of the emoji scripts were added.

What stands out is what it did not switch on: combining CSS and JavaScript, and removing unused CSS. Its own reasoning: those options can cause problems with this theme. The four old addresses now redirect permanently to the new pages, tested and working.
The whole site, page by page
All five pages as they are live now, as full-page screenshots. Scroll inside the window to see a whole page. The 2019 button shows the home page of the old builder export; switch it to 2019 and mobile and you see why visitors had to zoom in.

What went wrong
Not in this run, but in the one before it, and that is the most interesting lesson of this episode. On 3 October the same series got stuck at task 2. The assistant handed the theme build off to a background task and reported that it would let us know as soon as it was done. Except: our driver treats a task as finished the moment the final answer arrives. The theme never came, and tasks 3 and 4 worked on a bare WordPress install. Two of four tasks done, after 3341 seconds.
The cause was not the model but the combination. Pushing work off to the background is fine in a terminal where you keep watching, and useless in a request that has to be complete as a whole. We closed that off: background tasks are refused, and the request now states that it has to finish before it answers. The run on 5 October went through in one go.
What we learned
- "Done" has to mean done. An answer that ends with "I will let you know when it is finished" is the same thing as a failure in an automated series. You enforce that in your own driver, not in the model.
- Every task starts a new conversation. The context between task 1 and task 2 travels only through the notes about the website. That is why "write it into the notes" is not a side issue in task 1 but the entire reason task 2 knew what had to be built.
- A builder export is more deceptive than an old handmade site. It looks modern enough to leave alone, while half of it points at a service you no longer control.
Which model, and why
This episode ran on Claude Sonnet, against Claude Opus in episode 2 and Codex in episode 1. Sonnet is faster here: 19 minutes against 27 for the physiotherapy practice, on a request with more work in it. Where it stands out is in keeping a way back: a backup first, archiving the old site instead of deleting it, and deliberately leaving the risky settings off. None of those three was in a request.
Want to try this yourself? Connect Claude or Codex in Invoker Link with your own subscription; the plans are at web hosting.