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
