Gebouwd in een uur · aflevering 0
blog·4 min lezen

Een dag bouwen met Claude en Codex in DirectAdmin

Wat er gebeurt als je een AI-assistent in een gewoon hostingpanel zet. WordPress, een eigen thema, een bestelplugin en cache-instellingen, allemaal via de chat, plus wat we onderweg leerden.

Vandaag hebben we de Invoker Assistant een dag lang op een lege website losgelaten, zoals een klant dat zou doen: geen terminal, geen code, alleen de chat in DirectAdmin. Dit is wat eruit kwam, en wat we onderweg hebben aangepast.

De opdrachten

Een leeg subdomein op een gewoon shared-hostingaccount. Vier opdrachten, achter elkaar getypt in de assistent, met Claude in auto-modus.

1. "Installeer WordPress, titel Bakkerij De Korenaar." Na 58 seconden stond er een Nederlandstalige WordPress met een eigen database, LiteSpeed Cache en een sterk wachtwoord dat één keer werd getoond. De assistent legde ook uit wat de eigenaar nu het beste kan doen: wachtwoord aanpassen, eigen e-mailadres invullen, pagina's maken.

2. "Maak een eigen thema voor een warme, ambachtelijke bakkerij in Haren." Geen standaardsjabloon, maar een eigen thema met een getekende ovenmond, een badge met de openingstijden van vandaag, drie specialiteiten met eigen tekeningen en een Customizer waarin de bakker adres en tijden zelf aanpast. De assistent maakte screenshots op desktop en mobiel, keek ernaar en herstelde wat niet klopte. Bijna acht minuten.

De homepage van het thema Korenaar, zoals de assistent hem opleverde

3. "Maak een plugin waarmee klanten brood reserveren." Een formulier via shortcode, een eigen databasetabel, een beheerpagina met statussen en bulkacties, een instellingenpagina, bevestigingsmails. De assistent schreef zelf een browsertest, plaatste een proefbestelling, maakte zeven screenshots en ruimde de proefbestelling weer op. Ook eerlijk: de mails kwamen niet aan omdat het testadres niet bestond, en dat meldde hij, met de vraag welk adres het moest zijn.

Het beheeroverzicht van de bestelplugin in WordPress

4. "Stel LiteSpeed Cache goed in en meet het verschil." TTL's per paginatype, cache legen bij een nieuwe bestelling of een Customizer-wijziging, browsercache een jaar, minify, het emoji-script eruit. En één ding bewust niet: CSS combineren, want het thema heeft maar één stijlbestand en samenvoegen leverde niets op. Dat soort afwegingen, met uitleg, is precies wat je van een goede collega verwacht.

Wat je nodig hebt om dit veilig te laten werken

Een AI die bestanden mag wijzigen op een hostingaccount vraagt om een paar harde regels. Dit is wat wij hebben gebouwd, en waarom.

  • Alles draait als de klant zelf. In de jail van het account, binnen de limieten van het pakket. Geen root, geen zicht op andere klanten. Een fout kan hooguit de eigen site raken.
  • Elke taak is terug te draaien. Vóór elke opdracht maken we een momentopname van de website in een verborgen git-repository buiten de webroot. Eén klik op "maak ongedaan" en alles staat terug, ook na een WordPress-installatie met duizenden bestanden.
  • Wijzigingen worden getoond, niet verstopt. Claude vraagt per bestand om goedkeuring met het verschil erbij. Codex kan dat niet per wijziging; daar tonen we elke wijziging achteraf als kaart. In beide gevallen blijft ongedaan maken werken.
  • Een preview voor groot werk. Een kopie op preview.jouwdomein.nl, met eigen database voor WordPress. Publiceren gebeurt pas als de eigenaar het zegt, met een veiligheidskopie vooraf.
  • De assistent kijkt naar zijn eigen werk. Een echte browser op de server maakt screenshots op desktop en mobiel; de assistent bekijkt ze en verbetert. Dat scheelt de ronde "ziet er goed uit" die vervolgens niet klopt.

Wat we vandaag leerden

Hoe de opdracht binnenkomt bepaalt de kwaliteit. "Maak een website" geeft een matig resultaat; "voor een ambachtelijke bakkerij in Haren, warme kleuren, met openingstijden en een reserveerformulier" geeft het thema hierboven. Daarom staat er nu een startwizard in de assistent: nieuw of importeren, platform, bedrijf, doel, pagina's, onderdelen, stijl. Het resultaat is een duidelijke opdracht die je nog kunt aanpassen voordat je op "Start bouwen" klikt.

De startwizard in de assistent: pagina's en onderdelen aanvinken

Een AI moet kunnen zeggen dat iets niet kan. Toen een hostingtool in een sessie niet werkte, probeerde Codex netjes een mail aan support te sturen, kon dat niet, en zei dat ook. Sindsdien heeft de assistent een eigen kanaal naar ons: hulpvraag, probleem of verbetervoorstel, met de context van het account erbij en een kopie naar de eigenaar. Geen "ik heb het gemaild" zonder dat er een mail is.

Grote wijzigingen breken kleine aannames. Onze snapshot maakte na elke taak een volledige diff. Bij een WordPress-installatie is dat te groot voor een buffer. Nu tonen we bij honderden bestanden alleen de bestandslijst; ongedaan maken gebruikt de momentopname zelf, niet de diff.

Lees- en zoekstappen zijn ruis voor de eigenaar. Een regel als "voerde grep -rn uit" zegt een bakker niets. Die stappen staan nu samengevat, "las 2 bestanden, voerde 3 opdrachten uit", met de details achter een klik voor wie het wil zien.

Claude of Codex?

Beide werken met het abonnement dat je al hebt. Claude vraagt per wijziging om je OK en kent auto-modus; Codex voert direct uit en toont achteraf. Voor wie elke wijziging wil zien, is Claude de betere keuze. Voor wie een vertrouwde site snel wil bijwerken, is Codex prima. In de assistent kies je per gesprek de aanbieder en het model, en notities, previews en vaardigheden zijn voor beide hetzelfde.

Alles uit dit verhaal zit in Invoker Link en de Invoker Assistant, inbegrepen bij elk webhostingpakket.

MK
Maarten Keizer

Oprichter van Invoker. Ruim twintig jaar hosting, systeembeheer en webdevelopment; bouwt de Claude-hosting zelf en test alles eerst op de eigen servers.

over maarten