Jeg havde egentlig bare brug for en ny hjemmeside.
Men som det ofte går, når man både arbejder kreativt og begynder at rode med kode, udviklede projektet sig en smule.
Jeg ville ikke bruge et færdigt WordPress-tema. Jeg ville heller ikke bygge endnu en hjemmeside, der ligner 10.000 andre WordPress-sider.
Jeg ville bygge noget, der føltes som mig.
Og samtidig ville jeg undersøge, hvor langt man egentlig kan komme, når man kombinerer WordPress, kreativt design, AI og vibe coding.
Resultatet blev larssohl.dk.
Fra papirskitse til fungerende WordPress-site
Det hele begyndte ikke i WordPress.
Det begyndte med en blyant og et stykke papir.
Jeg tegnede først idéen til hjemmesiden i hånden. Derefter blev layoutet omsat til et digitalt design, blandt andet med Google Stitch, og derefter begyndte den egentlige udvikling.
Her kom Claude ind som min udviklingspartner.
Ikke som en magisk “lav mig en hjemmeside”-knap, men som et værktøj til at omsætte idéer til fungerende kode, teste løsninger og iterere på design og funktionalitet.
Det er i virkeligheden dét, jeg synes er interessant ved vibe coding.
Man behøver ikke sidde og skrive hver eneste linje kode manuelt for at være med til at bygge noget teknisk. Man kan beskrive en funktion, diskutere løsningen med AI'en, teste den og derefter bygge videre.
Men man skal stadig vide, hvad man vil bygge.
Jeg ville ikke have et normalt WordPress-tema
WordPress er fantastisk, fordi CMS'et allerede løser en masse af det kedelige.
Indhold. Brugere. Medier. Sider. Administration.
Men et traditionelt WordPress-tema har også en tendens til at definere, hvordan en hjemmeside skal fungere.
Det ville jeg vende om.
I stedet for at spørge:
“Hvilket tema skal jeg bruge?”
spurgte jeg:
“Hvordan skal min hjemmeside fungere?”
Det betød, at jeg byggede mit eget WordPress-tema og samtidig udviklede en backend, der passer til den måde, jeg selv arbejder på.
På forsiden kan man blandt andet se backend-styrede elementer som slideshow, tekster, CTA'er og galleriindhold. Det er stadig WordPress, men brugeroplevelsen og strukturen er bygget specifikt til siden.
WordPress som udviklingsplatform
Det er måske den del af projektet, jeg synes er mest interessant.
For WordPress behøver ikke kun være et system, hvor man skriver blogindlæg og uploader billeder.
Det kan også fungere som fundament for specialudviklede værktøjer og funktioner.
Et godt eksempel fra mit eget projekt er Bane Status.
Her byggede jeg et WordPress-plugin, der gør det muligt at ændre status på en motocrossbane direkte fra en PWA på telefonen.
På hjemmesiden bliver status automatisk vist som en live-widget, mens administrationen ligger i WordPress.
Løsningen indeholder blandt andet:
- Live status på hjemmesiden
- PWA til telefonen
- PIN-login
- HMAC-SHA256 signerede session-tokens
- bcrypt-hashede PIN-koder
- Rate limiting
- Offline-cache
- Specialbygget WordPress-dashboard
- Mulighed for at ændre farver, tekster, logo og hurtigbeskeder fra backend
Det er et godt eksempel på, hvorfor jeg ikke længere ser WordPress som “bare et CMS”.
Backend'en blev en del af designet
Normalt tænker man måske frontend først og backend bagefter.
I dette projekt hænger de to ting sammen.
Jeg ville have en hjemmeside, hvor jeg som bruger kunne administrere indholdet uden at ødelægge det visuelle udtryk.
Det betyder, at backend'en ikke bare er et generisk WordPress-dashboard.
Den er en del af selve løsningen.
Når et element på forsiden skal ændres, skal jeg ikke nødvendigvis ind og rode med kode. Indholdet kan styres fra WordPress, mens temaets struktur, animationer og visuelle udtryk stadig er specialbygget.
Det er for mig noget af det mest interessante ved at kombinere custom WordPress udvikling med AI.
AI kan hjælpe med at bygge systemet.
Men systemet skal stadig designes.
AI skrev koden. Jeg bestemte, hvad der skulle bygges.
Der er en vigtig forskel på at få AI til at lave en hjemmeside og faktisk bruge AI som udviklingsværktøj.
Jeg har ikke bare skrevet:
“Lav en fed portfolio.”
Og derefter trykket publish.
Processen har været langt mere iterativ.
Jeg kommer med idéen.
Jeg forklarer funktionen.
AI'en kommer med et forslag.
Jeg tester.
Noget virker.
Noget virker ikke.
Noget ser forkert ud.
Så ændrer vi det.
Det er nærmest blevet en ny form for kreativ udvikling, hvor grænsen mellem art direction og programmering bliver langt mere flydende.
Hvorfor WordPress stadig gav mening
Når man bygger noget så specialiseret, kunne man selvfølgelig spørge:
Hvorfor overhovedet bruge WordPress?
Hvorfor ikke bare bygge hele hjemmesiden som en ren webapp?
For mig er svaret simpelt.
WordPress giver mig en robust grundstruktur til indhold og administration, samtidig med at jeg selv kan bestemme, hvad der ligger ovenpå.
Jeg behøver ikke opfinde et nyt CMS.
Jeg kan bruge WordPress som fundament og bygge resten selv.
Det gør det muligt at kombinere det bedste fra to verdener:
Et kendt CMS + specialudviklet software.
Det sjove er, at hjemmesiden også blev et udviklingsprojekt
Det oprindelige mål var at lave en portfolio.
Undervejs blev den også en slags legeplads.
Jeg har blandt andet brugt projektet til at eksperimentere med WordPress, PWA'er, AI, plugins, animation, interaktion og specialbyggede værktøjer.
Det betyder også, at hjemmesiden ikke er et afsluttet projekt.
Den er snarere en platform, som hele tiden kan udvikle sig.
Og det er måske i virkeligheden pointen.
Hvad jeg har lært
Den største læring er ikke, at AI kan skrive kode.
Det vidste vi godt.
Det interessante er, at kombinationen af designforståelse, idéudvikling og AI-assisteret programmering gør det muligt at bygge langt mere specialiserede digitale løsninger, end jeg tidligere ville have kastet mig over alene.
WordPress behøver ikke være begrænsningen.
Et tema behøver ikke være en skabelon.
Og en backend behøver ikke ligne WordPress.
Det hele kan bygges omkring den måde, løsningen faktisk skal fungere på.
Så ja, jeg byggede en WordPress-hjemmeside.
Men egentlig byggede jeg noget lidt andet.
Et WordPress-site.
Et custom tema.
En specialbygget backend.
En håndfuld egne plugins.
Nogle PWA'er.
Og en hel del AI.
Alt sammen startet med en tegning på et stykke papir.
Se siden her: larssohl.dk
Skrevet af Lars Sohl
