Vibe Coding -- Byg Apps med AI
Din komplette guide til at bygge software ved hjælp af AI, uden at vaere uddannet programmør.
Indhold
- Hvad er vibe coding?
- Vaerktoejer
- Workflow: Fra idé til faerdig app
- Prompt engineering til kodning
- Fejlfinding med AI
- Bedste praksis
- Eksempler på projekter
- Begrænsninger og hvad AI ikke kan
- Fra vibe coding til rigtig udvikling
Hvad er vibe coding?
Vibe coding er et begreb der blev populært i 2024-2025, skabt af Andrej Karpathy (tidligere OpenAI). Det beskriver en ny maade at bygge software paa:
I stedet for at skrive kode selv, beskriver du hvad du vil bygge, og AI'en skriver koden for dig.
Hvordan adskiller det sig fra traditionel udvikling?
| Traditionel udvikling | Vibe coding |
|---|---|
| Du skriver kode fra bunden | Du beskriver hvad du vil have |
| Timer/maaneder paa at laere syntax | Minutter at komme i gang |
| Fejlfinding i documentation | Fejlfinding med AI |
| Kraever teknisk viden | Kraever tydelige beskrivelser |
| Langsomt | Meget hurtigt |
Hvem er vibe coding for?
- Freelancere der vil bygge produkter til deres kunder
- Ivaerksoettere der vil prototypere en idé hurtigt
- Designere der vil se deres idé blive til virkelighed
- Marketing-folk der vil bygge landing pages og kampagnesider
- Alle der har en idé til en app men ikke kan kode
Vibe coding er IKKE
Det er vigtigt at forstaa hvad vibe coding ikke er:
- Det er ikke magisk -- du skal stadig tænke og debugge
- Det er ikke professionel udvikling -- kodekvaliteten er ikke altid production-ready
- Det erstatter ikke programmører -- til komplekse projekter er professionelle nødvendige
- Det er ikke fejlfrit -- AI laver fejl, og du skal kunne identificere dem
Vaerktoejer
Cursor
Hvad er det? En AI-drevet kodeeditor bygget paa VS Code.
Fordele:
- Kraftfuld AI-chat der forstaaer hele dit projekt
- Kan redigere flere filer paa én gang
- Integreret terminal og fejlfinding
- Stor brugerflade der ligner VS Code
- Understoetter alle sprog og frameworks
Ulemper:
- Kraever basis kendskab til terminal og kodemiljø
- Laeringskurve for helt nye brugere
Pris:
- Gratis: 2000 completion om maaneden
- Pro: /maaned (ubegraenset)
Saaadan kommer du i gang:
`ash
1. Download Cursor fra cursor.com
2. Aabn en ny mappe
3. Tryk Ctrl+I (eller Cmd+I paa Mac) for at aabne AI-chatten
4. Skriv hvad du vil bygge
`
Eksempel-prompt:
` Opret en Next.js app med Tailwind CSS. Appen skal vaere en simpel opgave-manager (to-do liste) med:
- Mulighed for at tilfoeje opgaver
- Mulighed for at markere som fuldfoert
- Mulighed for at slette opgaver
- Lokal lagring (localStorage)
- Moderat moerkt tema `
Replit
Hvad er det? En cloud-baseret kodeeditor med indbygget AI.
Fordele:
- Intet installation nødvendigt -- kraeves i browseren
- Nemt at dele links til dit projekt
- Indbygget hosting og database
- AI kan bygge hele apps fra en prompt
Ulemper:
- Langsomt sammenlignet med lokal udvikling
- Begrænset kontrol over miljø
- Dyrt for avancerede features
Pris:
- Gratis: Begrænset computation
- Replit Core: /maaned
Eksempel-prompt i Replit Agent:
` Byg en enkel e-commerce hjemmeside med:
- Produktside med 10 produkter
- Indkobskurv
- Checkout-side (uden betaling)
- Admin-panel til at tilfoeje/fjerne produkter Brug Node.js backend og React frontend. `
v0 by Vercel
Hvad er det? AI-vaerktoej specielt til frontend/UI-udvikling.
Fordele:
- Genererer smukke UI-komponenter
- Bruger moderne frameworks (Next.js, React, Tailwind)
- Nemt at eksportere kode
- Meget hurtigt til landing pages og dashboards
Ulemper:
- Begrænset til frontend
- Ikke til backend-logik eller databaser
- Kan give generisk design
Pris:
- Gratis: Begrænset generationer
- Premium: /maaned
Eksempel-prompt:
` Lav et moderne dashboard til en SaaS-app. Siden skal have:
- Sidebar navigation
- Oversigt med 4 statistik-kort
- Et soejlediagram (brug recharts)
- En tabel med seneste aktivitet
- Brug Next.js, Tailwind CSS og shadcn/ui `
Bolt.new
Hvad er det? Byg og deploy apps direkte i browseren.
Fordele:
- Intet setup nødvendigt
- Bygger hele apps fra prompts
- Direkte deployment til Netlify
- Meget hurtig prototyping
Ulemper:
- Begrænsede muligheder for tilpasning
- Kan give buggy kode
- Begrænset backend-kapacitet
Pris:
- Gratis: Begrænset tokens
- Pro: /maaned
Eksempel-prompt:
` Byg en simpel blog-platform med:
- Forside med alle indlaeg
- Indlaegsside med markdown-indhold
- Admin-panel til at oprette/redigere indlaeg
- Brug Astro framework `
Lovable
Hvad er det? AI-app builder der fokuserer paa design og brugeroplevelse.
Fordele:
- Genererer smukt design
- Nemt at bruge
- God til SaaS-produkter
- Integrerer med Supabase til backend
Ulemper:
- Relativt nyt vaerktoej
- Begrænset avancerede features
Pris:
- Gratis: Begrænset
- Pro: /maaned
Sammenligning af vibe coding-vaerktoejer
| Vaerktoej | Bedst til | Niveau | Pris | Platform |
|---|---|---|---|---|
| Cursor | Helhedsudvikling | Oeved | /maaned | Desktop app |
| Replit | Komplette apps | Begynder | /maaned | Browser |
| v0 | Frontend/UI | Begynder | /maaned | Browser |
| Bolt.new | Hurtige prototyper | Begynder | /maaned | Browser |
| Lovable | SaaS-produkter | Begynder | /maaned | Browser |
Workflow: Fra idé til faerdig app
Trin 1: Definer din idé (15-30 min)
Foer du aabner et AI-vaerktoej, skal du have klart:
Spoergsmaal du skal besvare:
- Hvad loeser min app? (Problem)
- Hvem er min maalgruppe? (Bruger)
- Hvad er de vigtigste features? (Funktionalitet)
- Hvordan adskiller den sig fra eksisterende loesninger? (Unikt vaerditilbud)
Skabelon til idé-beskrivelse:
` Jeg vil bygge en app der [loeser problem] for [maalgruppe].
Hovedfeatures:
- [Feature 1]
- [Feature 2]
- [Feature 3]
Appen skal:
- Køre i en browser
- Have en moderne, brugervenlig overflade
- [Eventuelt: Have en database, authentication, betaling]
Inspiration: [Eksisterende app/website der minder om] `
Trin 2: Vaelg den rigtige stack (5-10 min)
For simple projekter:
- HTML + CSS + JavaScript
- Ingen backend nødvendig
For projekter med data:
- Next.js + Tailwind CSS
- Supabase (database + authentication)
For SaaS-produkter:
- Next.js + Tailwind CSS + shadcn/ui
- Supabase eller PlanetScale
- Stripe til betaling
Trin 3: Byg grundstrukturen (30-60 min)
Eksempel-prompt til grundstruktur:
` Opret et nyt Next.js projekt med Tailwind CSS.
Struktur:
- /app/layout.tsx (root layout med navigation)
- /app/page.tsx (forside)
- /app/about/page.tsx (om os side)
- /app/contact/page.tsx (kontakt side)
- /components/Header.tsx
- /components/Footer.tsx
Design:
- Moderne, rent design
- Moerkt tema
- Blaa accentfarve (#3B82F6)
- Responsive (mobilvenlig) `
Trin 4: Byg features én ad gangen (1-3 timer per feature)
Vigtigt: Byg én feature ad gangen. Lad vaere med at bede AI om at bygge alt paa én gang.
Eksempel-prompt til en feature:
` Tilfoej en opgave-manager feature til appen.
Features:
- Liste over opgaver med titel, status og prioritet
- Mulighed for at tilfoeje ny opgave (modal)
- Mulighed for at redigere opgave (klik paa opgave)
- Mulighed for at slette opgave (bekraeftelse)
- Filter: alle, aktive, fuldfoerte
- Lokal lagring med localStorage
Brug shadcn/ui komponenter. `
Trin 5: Test og fejlfinding (loebende)
- Test hver feature efter den er bygget
- Brug AI til at debugge: "Faa [feature] til at virke"
- Aabn din app i browseren og test paa mobil
- Brug browser-konsollen til at se fejl
Trin 6: Deploy (30-60 min)
Gratis hosting-muligheder:
| Platform | Bedst til | Pris |
|---|---|---|
| Vercel | Next.js/React | Gratis |
| Netlify | Statisk/hybrid | Gratis |
| GitHub Pages | Statisk | Gratis |
| Cloudflare Pages | Statisk | Gratis |
| Railway | Backend/database | /maaned |
Deploy til Vercel:
`ash
Installer Vercel CLI
npm i -g vercel
Deploy
vercel
Foelg instruktionerne paa skaermen
`
Prompt engineering til kodning
Grundlaeggende principper
1. Vaer specifik
- Daarlige: "Byg en hjemmeside"
- Godt: "Byg en landing page for en kaffebutik med hero-sektion, menu, og booking-formular"
2. Angiv teknologier
- Daarlige: "Byg en app"
- Godt: "Byg en app med Next.js, Tailwind CSS og Supabase"
3. Beskriv layout
- Daarlige: "Lav en pæn side"
- Godt: "Siden skal have en hero-sektion med overskrift til venstre og billede til hoeyre, efterfulgt af 3 feature-kort i et grid"
4. Angiv tilstande
- Husk at beskrive hvad der skal ske i forskellige situationer:
- Tom tilstand (ingen data)
- Indlaesningstilstand
- Fejltilstand
- Succes-tilstand
Prompt-monstre
Byg en hel app fra bunden:
` Byg en [type app] ved navn [navn].
Teknologier: [framework], [CSS], [database]
Features:
- [Feature 1] -- [beskrivelse]
- [Feature 2] -- [beskrivelse]
- [Feature 3] -- [beskrivelse]
Design:
- Tema: [moerkt/lyst/farverigt]
- Typografi: [sans-serif/serif]
- Farvepalette: [beskrivelse]
Start med grundstrukturen og lad mig vide naar den er klar. `
Tilfoej en feature:
` Tilfoej [feature navn] til den eksisterende app.
Featuren skal:
- [Beskrivelse af hvad den goer]
- [Interaktion med brugeren]
- [Data den skal haandtere]
Eksisterende teknologier: [liste] Brug samme design-stil som resten af appen. `
Ret en fejl:
` Foelgende fejl opstaar naar jeg [beskriv handling]:
[Fejlmeddelelse fra konsollen]
Hvad er aarsagen, og hvordan fikser jeg det? `
Optimer kode:
` Optimer denne kode for [performance/brugervenlighed/laesbarhed]:
[Koden]
Forklar hvad du aendrede og hvorfor. `
Avancerede prompt-teknikker
Chain of Thought (Tænk skridt for skridt):
` Byg en login-funktion. Tænk skridt for skridt:
- Foerst: Opret formular med email og adgangskode
- Derefter: Valider input
- Derefter: Send til backend
- Derefter: Haandter svar (succes/fejl)
- Til sidst: Omdiriger efter login `
Few-shot eksempler:
` Her er et eksempel paa en feature-card komponent:
jsx function FeatureCard({ title, description, icon }) { return ( <div className="p-6 rounded-xl bg-gray-800"> <div className="text-3xl mb-4">{icon}</div> <h3 className="text-xl font-bold mb-2">{title}</h3> <p className="text-gray-400">{description}</p> </div> ); }
Lav lignende komponenter til: TestimonialCard, PricingCard, StatCard `
Fejlfinding med AI
Typiske fejl og hvordan du loeser dem
1. "Module not found"
` Fejl: Module not found: Can't resolve 'next/image'
Aarsag: Du bruger Next.js billedkomponent uden at have installeret dependencies.
Loesning: Kør i terminalen: npm install `
2. "Hydration mismatch"
` Fejl: Hydration failed because the initial UI does not match what was rendered on the server
Aarsag: SSR og klient-side rendering stemmer ikke overens.
Loesning: Brug useEffect til at haandtere klient-specifik kode:
jsx const [mounted, setMounted] = useState(false); useEffect(() => setMounted(true), []); if (!mounted) return null;
3. "Type error"
` Fejl: Type 'string' is not assignable to type 'number'
Aarsag: Forkert datatype i TypeScript.
Loesning: Konverter datatypen:
sx const num = parseInt(stringValue, 10);
Saaadan bruger du AI til debugging
Trin 1: Kopiér hele fejlmeddelelsen Trin 2: Beskriv hvad du forsøgte at goere Trin 3: Send til AI med denne prompt:
` Jeg får denne fejl naar jeg [beskriv handling]:
[Ful fejlmeddelelse]
Her er den relevante kode: [Koden]
Hvad er aarsagen, og hvordan fikser jeg det? `
Brug browser-konsollen
- Aabn din app i browseren
- Tryk F12 (eller højreklik -> Inspect)
- Gaa til Console-fanen
- Kopiér alleroe de fejlmeddelelser
- Send dem til AI'en
Bedste praksis
1. Byg i iterations
- Start med det simplest mulige
- Tilfoej én feature ad gangen
- Test efter hver tilfoejelse
- Commit kode regelmæssigt
2. Opret et projekt-kort
Gem dette i din projekts root-mappe som README.md:
`markdown
[App-navn]
Beskrivelse
Kort beskrivelse af appen.
Tech Stack
- Framework: [f.eks. Next.js 14]
- Styling: [f.eks. Tailwind CSS]
- Database: [f.eks. Supabase]
- Hosting: [f.eks. Vercel]
Projektstruktur
- /app -- Sider og routing
- /components -- Genbrugelige komponenter
- /lib -- Hjaelpefunktioner
- /public -- Statisk indhold
Køre lokalt
ash npm install npm run dev
Nuværende status
- Grundstruktur
- Navigation
- Feature 1
- Feature 2 `
3. Brug versionskontrol
`ash
Initialiser Git
git init
Foerste commit
git add . git commit -m "Initial commit: grundstruktur"
Efter hver feature
git add . git commit -m "Tilfoej [feature navn]" `
4. Dokumentér dine prompts
Gem de prompts der virker i en fil:
`markdown
Mine bedste prompts
Oprettelse af grundstruktur
[Prompt]
Fejlfinding
[Prompt]
Feature-udvikling
[Prompt] `
5. Lad AI gennemgaa din kode
` Gennemgaa min kode for potentielle problemer:
- Sikkerhedsrisici
- Performance-problemer
- Brugervenligheds-problemer
- Manglende error handling
Koden: [Koden] `
Eksempler på projekter
Eksempel 1: Portfolio-hjemmeside
Idé: En personlig portfolio for en grafisk designer.
Prompt til Cursor/v0:
` Byg en moderne portfolio-hjemmeside for en grafisk designer.
Sider:
- Forside med hero-sektion og udvalgte projekter
- Projekter-side med galleri (filter efter kategori)
- Om mig-side med bio og faerdigheder
- Kontakt-side med formular
Features:
- Smooth scroll-animations
- Moerkt tema med neon-accentfarve
- Responsive (mobilvenlig)
- Projekt-detaljer modal
Teknologier: Next.js, Tailwind CSS, Framer Motion `
Tid at bygge: 2-3 timer
Eksempel 2: SaaS Dashboard
Idé: Et dashboard til at spore abonnementer og udgifter.
Prompt:
` Byg et abonnementstracker-dashboard.
Features:
- Oversigt med samlede maanedlige udgifter
- Liste over alle abonnementer med pris og fornyelsesdato
- Mulighed for at tilfoeje/fjerne/redigere abonnementer
- Graf over udgifter over tid
- Paamindelser om fornyelse
Design:
- Moerkt tema
- Kortbaseret layout
- shadcn/ui komponenter
Teknologier: Next.js, Tailwind CSS, Supabase, Recharts `
Tid at bygge: 4-6 timer
Eksempel 3: Booking-system
Idé: Et simpelt booking-system til en froesoersalon.
Prompt:
` Byg et booking-system for en froesoersalon.
Brugere kan:
- Se ledige tider
- Booke en tid (vaeglg service, dato, tidspunkt)
- Faa bekræftelse paa e-mail
Admin kan:
- Se alle bookinger
- Tilfoeje/redigere/slette tider
- Se oversigt over kapacitet
Teknologier: Next.js, Tailwind CSS, Supabase, Resend (e-mail) `
Tid at bygge: 6-8 timer
Eksempel 4: E-commerce landing page
Idé: En enkel product page til et enkelt produkt.
Prompt:
` Byg en landing page til et produkt: [Produktnavn]
Siden skal have:
- Hero med produktbillede og koebsknap
- Features/sektion med 3 fordele
- Testimonials fra kunder
- FAQ-accordion
- Bund med "Garanti" information
Design:
- Premium, luksurioest look
- Moerk baggrund med gylden accentfarve
- Store produktbilleder
- CTA-knap der skiller sig ud
Teknologier: Next.js, Tailwind CSS `
Tid at bygge: 1-2 timer
Begrænsninger og hvad AI ikke kan
Hvad vibe coding er godt til
- Prototyper og MVP'er -- hurtigt at teste en idé
- Landing pages -- marketing-sider og kampagner
- Simple vaerktoejer -- interne dashboards, CRUD-apps
- Personlige projekter -- blogs, portfolios, hobby-projekter
- Laering -- forstaa kodekoncepter gennem eksempler
Hvad vibe coding IKKE er godt til
- Sikkerhedskritiske systemer -- betalinger, sundhed, etc.
- Skalérbare applikationer -- kompleks arkitektur kraever erfaring
- Machine learning -- kraever specialiseret viden
- Mobilapps -- begrænset (selvom der findes AI-vaerktoejer)
- Enterprise-systemer -- kraever professionel udvikling
Kvaliteten af AI-genereret kode
Typiske problemer:
- Duplikeret kode -- AI glemmer at genbruge komponenter
- Manglende error handling -- kode fungerer kun i ideelle tilfaelde
- Sikkerhedsproblemer -- SQL injection, XSS, etc.
- Performance-problemer -- unødvendige genrenderinger, store billeder
- Manglende test -- AI laver sjældent automatiserede tests
Hvornår du skal stoppe med vibe coding
- Naar appen skal haandtere personfoelsomme data
- Naar appen skal skalerer til mange brugere
- Naar der er behov for kompleks forretningslogik
- Naar appen skal integreres med kritiske systemer
- Naar du har brug for høj oppetid og paaidelighed
Fra vibe coding til rigtig udvikling
Laeringsvej
- Begynd med vibe coding -- byg simple projekter
- Laer grundlaeggende HTML/CSS/JS -- forstaa hvad AI laver
- Laer et framework -- Next.js er et godt valg
- Laer om databaser -- SQL og NoSQL
- Laer om authentication -- sikker login og brugerstyring
- Laer om deployment -- sætte apps i produktion
Anbefalede laeringsressourcer
Gratis:
- freeCodeCamp.org -- Komplette kurser i webudvikling
- The Odin Project -- Fuld-stack udviklingsvej
- JavaScript.info -- Dybdegaaende JS-laering
Betalte:
- Frontend Masters -- Professionelle kurser
- egghead.io -- Korte, fokuserede kurser
- Udemy -- Brede kurser til lave priser
Fra prototyper til production
Naar du er klar til at goere dine projekter mere alvorlige:
- Tilføj test -- skriv automatiserede tests for din kode
- Brug TypeScript -- faa type-sikkerhed og bedre IDE-støtte
- Implementer CI/CD -- automatiser test og deployment
- Laer om sikkerhed -- OWASP Top 10, data-kryptering
- Optimer performance -- caching, lazy loading, billedoptimering
- Overvaag din app -- logging, fejlrapportering, analytics
Naar du skal hyre en programmør
Vibe coding er fantastisk til prototyper, men naar dit projekt vokser:
- Kompleks backend-logik -- betalingssystemer, integrationer
- Skalering -- mange brugere, høj oppetid
- Sikkerhed -- personfoelsomme data, compliance
- Vedligeholdelse -- langsigtede opdateringer og fejlrettelser
Naeste skridt
- Vaelg et vaerktoej -- proev Cursor, Replit eller v0 i dag
- Byg dit foerste projekt -- start med en simpel landing page
- Del dit projekt -- vis det til venner eller læg det paa GitHub
- Lær af fejl -- hver fejl er en laeringsmulighed
- Byg videre -- tilfoej features og forbedringer løbende
Denne guide er skrivet i juni 2026. AI-vaerktoejer udvikler sig hurtigt, saa nye vaerktoejer og funktioner kan have meldt sig paa banen.