← Guides

Sådan byggede jeg et custom WordPress-website med AI

AI som pair programmer, ikke som generator

Jeg brugte Claude gennem hele processen, men ikke til at generere et færdigt site fra én enkelt prompt. Arbejdsgangen mindede mere om traditionel pair programming: jeg beskrev en funktion, fik et kodeforslag, testede det lokalt og gav feedback, når noget ikke virkede eller så forkert ud. Det kræver stadig, at man forstår, hvad man beder om — man skal kunne læse den PHP og JavaScript, der bliver skrevet, og vurdere om løsningen er sikker og performant nok til produktion.

Det er en vigtig detalje for andre udviklere, der overvejer at arbejde på denne måde: AI reducerer den tid, det tager at gå fra idé til fungerende kode, men det fjerner ikke behovet for at forstå arkitekturen.

Track Status: et plugin som test af arkitekturen

Den teknisk mest interessante del af projektet var et selvstændigt plugin kaldet Track Status. Formålet er enkelt: en administrator skal kunne ændre status på en motocross-bane fra en telefon, og statusen skal vises live på websitet.

Løsningen består af nogle konkrete komponenter:

En PWA til telefonen med PIN-login Session-tokens signeret med HMAC-SHA256 PIN-koder hashet med bcrypt — ikke gemt i klartekst Rate limiting på login-endpointet for at forhindre brute-force-angreb Offline-cache, så statusen stadig vises, hvis forbindelsen falder ud Et dashboard i WordPress-admin til styring af farver, tekster og hurtigbeskeder

Det er den slags funktionalitet, man normalt ville bygge som en separat webapp med sin egen API. Her lever det i stedet som et WordPress-plugin, der kommunikerer med kernen via REST API-endpoints og bruger WordPress' eget bruger- og nonce-system som del af sikkerhedslaget.

Hvorfor WordPress stadig var det rigtige valg

Det åbenlyse spørgsmål er, hvorfor man overhovedet bruger WordPress, når man alligevel bygger det meste selv. Svaret er, at WordPress løser en række kedelige men nødvendige problemer: brugerstyring, mediebibliotek, databaseabstraktion og en admin-UI, man ikke skal bygge fra bunden. Ved at bygge tema og plugins oven på det fundament får man en løsning, der er skræddersyet, hvor det tæller, og standardiseret, hvor det ikke gør.

Konklusionen

Det interessante ved projektet er ikke, at AI kan skrive kode — det er velkendt. Det interessante er, at kombinationen af designforståelse og AI-assisteret udvikling gør det realistisk som soloentwickler at bygge mere specialiserede løsninger, end man måske ville have taget fat på tidligere. Man skal stadig vide, hvad man vil bygge, og man skal stadig kunne læse og evaluere koden — AI er værktøjet, ikke arkitekten.

Skrevet af Lars Sohl

Ofte stillede spørgsmål

Hvilke AI-værktøjer brugte du egentlig i processen?
Claude blev brugt som den primære udviklingspartner til kode, mens Google Stitch blev brugt tidligt i processen til at omdanne håndtegnede skitser til digitale designudkast.
Er koden fra Track Status-pluginnet sikker nok til produktion?
Fundamentet er der — bcrypt-hashede PIN-koder, HMAC-signerede tokens og rate limiting — men enhver custom auth-løsning bør gennemgå en sikkerhedsgennemgang, inden den bruges i et scenarie med rigtige brugerdata eller højere risiko.
Kan et custom WordPress-tema som dette genbruges til andre projekter?
Delvist. Arkitekturen (ACF-felter, skabelonstruktur, plugin-mønster) kan genbruges som udgangspunkt, men det visuelle design og det meste af funktionaliteten er bygget specifikt til dette projekt og ville kræve tilpasning til andre projekter.
Hvor meget af koden skrev du selv kontra AI?
Det varierede fra funktion til funktion. Grundstrukturen og de fleste snippets kom fra samarbejdet med Claude, men al kode blev testet, justeret og i mange tilfælde omskrevet manuelt, når resultatet ikke levede op til kravene.

ENDA