← Hjem

Hvordan starte et vibecoding-prosjekt

En praktisk guide for ikke-utviklere. Du trenger ikke kunne programmere — men du må vite hvordan du tenker om prosjektet ditt før AI skriver en eneste linje kode.

⏱ 10 min lesing

Verktøy som Cursor, Claude Code, Lovable og Bolt har endret spillereglene. For første gang kan personer uten programmeringsbakgrunn beskrive hva de vil ha og få fungerende programvare tilbake. Dette er vibecoding — å bygge programvare gjennom samtale, ikke ved å skrive kode selv.

Men her er haken: AI kan skrive kode, men den kan ikke tenke om prosjektet ditt for deg. Uten en klar plan og noen enkle regler ender du opp med et kaos som fungerer i dag og går i stykker i morgen. Hver iterasjon gjør det verre, og til slutt sitter du fast.

Denne guiden gir deg de 5 tingene du må gjøre riktig fra starten. Ingen sjargong, ingen informatikkgrad nødvendig — bare praktiske steg som holder prosjektet ditt på rett spor.

01

Vær så beskrivende som mulig

Når du forteller AI hva den skal bygge, forestill deg at du forklarer appen til en utvikler på deres første arbeidsdag. De er smarte, men de vet ingenting om virksomheten din. Jo flere detaljer du gir, desto bedre resultat.

Vage instruksjoner fører til generisk, ubrukelig kode. Spesifikke instruksjoner fører til noe som faktisk matcher visjonen din.

✗ Vag prompt
prompt.txt
Bygg meg en oppgavehåndteringsapp.
✓ Beskrivende prompt
prompt.txt
Bygg en oppgavehåndteringsapp for et 3-personers
markedsføringsteam. Hver oppgave har: tittel, beskrivelse,
tildelt person (valgt fra teamlisten), frist og status
(å gjøre / pågår / ferdig).
Hovedvisningen er en Kanban-tavle med dra-og-slipp.
Innlogging med e-post og passord.
Enkel, ren design — ingen mørk modus trengs foreløpig.
Tip

Før du prompter, skriv ned en liste over hvem som bruker appen, hva de kan gjøre, og hvilken informasjon som vises på hver skjerm. Bare dette vil spare deg for timer med frem og tilbake.

02

Start med en overordnet plan

Før du skriver — eller prompter — noe kode, ta et steg tilbake og skisser hva applikasjonen din skal gjøre. Tenk på det store bildet, ikke detaljene. Hva er hovedfunksjonene? Hvem er brukerne? Hva er det viktigste appen må gjøre?

En overordnet plan forhindrer det vanligste vibecoding-problemet: å bygge tilfeldige funksjoner en etter en til prosjektet blir en uhåndterlig haug med frakoblede deler.

⚠ Uten plan

  • "Legg til en innloggingsside"
  • "Nå legg til produkter"
  • "Legg til en handlekurv på en eller annen måte"
  • "Få betalinger til å fungere"
  • Alt er lappet sammen
  • Hver endring ødelegger noe annet

✓ Med plan

  • Funksjoner gruppert logisk
  • Avhengigheter klare fra starten
  • Du vet hva du skal bygge først
  • AI forstår hele konteksten
  • Endringer forårsaker ikke kjedereaksjoner
  • Prosjektet forblir håndterbart

Planen din trenger ikke være avansert. En enkel liste i en tekstfil er nok:

project-plan.md
# Nettkursplattform — MVP-plan

## Kjernefunksjoner (bygg først)
1. Brukerregistrering & innlogging
2. Kurskatalog med søk
3. Videospiller med fremdriftssporing
4. Enkel checkout (Stripe)

## Fase 2 (legg til senere)
5. E-postvarsler
6. Administrasjonspanel
7. Sertifikater & merker
8. Analyse & rapportering
Tip

Del planen din med AI i starten av hver samtale. Det hjelper AI med å ta bedre beslutninger når den forstår hvor prosjektet er på vei.

03

Del arbeidet inn i deler

Ikke prøv å bygge alt på en gang. Del appen din inn i uavhengige moduler — separate deler som hver håndterer et funksjonsområde. Bygg og test hver modul før du går videre til neste.

Her er en typisk oppdeling for en e-handels-MVP:

🔐
Modul
Autentisering
Fase 1
📦
Modul
Produkter
Fase 1
🛒
Modul
Bestillinger
Fase 1
💾
Modul
Datalagring
Fase 1
📧
Modul
E-post
Fase 2
🔔
Modul
Varsler
Fase 2
💳
Modul
Betalinger
Fase 2
📊
Modul
Analyse
Fase 2

Start enkelt. For datalagring kan en lokal fil eller det enkleste databasealternativet være nok for din MVP. Du trenger ikke Redis, meldingskøer og skylagring på dag én. Hvis sending av e-post ikke er kritisk, lagre bare meldingen lokalt og legg til faktisk e-postlevering senere.

Nøkkelen er at hver modul skal fungere på egen hånd. Når du bygger autentisering, ikke bygg bestillingssystemet samtidig. Fullfør én, sørg for at den fungerer, og gå videre.

Tip

Når du ber AI bygge en modul, si det eksplisitt: «Fokuser bare på autentiseringsmodulen. Ikke rør bestillings- eller produktkoden.» Dette hindrer AI fra å skrive om ting den ikke burde.

04

Skriv en regelfil

De fleste AI-kodeverktøy — Cursor, Claude Code, Windsurf og andre — ser etter en spesiell fil i prosjektet ditt (vanligvis kalt rules.md, CLAUDE.md eller .cursorrules) som forteller dem hvordan de skal oppføre seg. Tenk på den som en stilguide for din AI-utvikler.

Denne filen inneholder prinsipper og regler som holder koden din ren og konsistent, selv når prosjektet vokser. Du trenger ikke forstå dem dypt — du trenger bare å vite hvorfor de er viktige og inkludere dem i regelfilen din.

Her er nøkkelprinsippene, på enkelt språk:

SOLID

Hver del gjør én ting

Tenk på en restaurant: kokken lager mat, servitøren serverer, kassereren tar betaling. Ingen gjør alt. Koden din bør fungere på samme måte — hver del har én klar oppgave. Når noe går i stykker, vet du nøyaktig hvor du skal lete.

DRY

Ikke gjenta deg selv

Hvis samme logikk finnes to steder, fikser du en feil i det ene og glemmer det andre. Skriv det én gang, gjenbruk det overalt. «Don't Repeat Yourself» betyr at hvert kunnskapsstykke skal ha én enkelt kilde til sannhet i koden din.

KISS

Hold det enkelt

«Keep It Simple, Stupid» — den enkleste løsningen som fungerer er alltid den beste. Ikke bygg et komplekst system for å løse et enkelt problem. Hvis en enkel liste fungerer, ikke bygg en database. Hvis en enkelt side fungerer, ikke bygg et dashbord.

PATTERNS

Bruk velprøvde oppskrifter

Designmønstre er løsninger som tusenvis av utviklere har testet og forbedret over tiår. Ved å be AI følge standardmønstre sikrer du at koden din er strukturert på måter som er lette å forstå, feilsøke og utvide.

ARCHITECTURE

Organiser som rom i et hus

Programvarearkitektur er hvordan appen din er organisert. Tenk på det som å bygge et hus med separate rom vs. ett stort åpent rom. Rom (moduler) lar deg pusse opp kjøkkenet uten å rive soverommet. Vanlige tilnærminger: MVC, lagdelt eller modulær.

Nå, legg dem alle i en regelfil som ligger i prosjektets rotmappe:

rules.md
# Project Rules

## Code Principles
- Follow SOLID: each file/function has one clear responsibility
- DRY: never duplicate logic — extract into a shared function
- KISS: choose the simplest solution that works
- Use standard design patterns (MVC, Repository, Service layer)

## Architecture
- Separate concerns: routes, business logic, data access
- All API calls go through a service layer
- Keep components small and focused

## Database
- Only create tables and fields that are needed right now
- Use clear, descriptive column names
- Add an index only when you have a performance problem

## General
- Handle errors explicitly — never silently ignore them
- Don't add features that weren't asked for
- When in doubt, ask before making assumptions
Hvorfor dette er viktig

Uten regler har AI en tendens til å overkomplisere ting: legge til ekstra lag, lage ubrukte abstraksjoner, dele kode inn i dusinvis av små filer. Regelfilen holder den på bakken. Tenk på det som sikkerhetssperrer, ikke begrensninger.

05

Database: Hold det rent

Databasen er der appen din lagrer dataene sine — brukere, bestillinger, produkter, meldinger. Det er fundamentet alt annet bygger på. Hvis du gjør databasen feil tidlig, vil hver funksjon du bygger oppå den bære den bagasjen.

Den vanligste feilen? Overkonstruksjon. Å opprette tabeller og felt «i tilfelle» eller «fordi vi kanskje trenger dem senere.» Hver unødvendig tabell legger til kompleksitet: flere ting å håndtere, flere ting som kan gå i stykker, flere ting som bremser deg.

⚠ Overkonstruert

En MVP for en enkel oppgaveapp som har:

  • 15 databasetabeller
  • Revisjonsloggtabell (ingen leser)
  • Brukerinnstillingstabell (3 innstillinger)
  • Tagger, kategorier, underkategorier
  • Rolletillatelsesmatrise
  • Varselinnstillinger per kanal

✓ Riktig dimensjonert

Samme MVP, bygget slankt:

  • 4 tabeller: users, tasks, teams, comments
  • Hver tabell har bare feltene som brukes i dag
  • Enkelt rollefelt på brukere (admin/member)
  • Lett å utvide når du faktisk trenger mer
  • Raske spørringer, enkle migrasjoner
  • Du forstår hver tabell og kolonne

Før du legger til en kolonne eller tabell, spør deg selv: «Trenger jeg disse dataene akkurat nå, for en funksjon som finnes i dag?» Hvis svaret er nei, ikke legg det til. Du kan alltid legge det til senere — å fjerne det er mye vanskeligere.

schema.sql
-- ✓ Clean schema for a task app MVP

CREATE TABLE users (
  id, email, password_hash, name, role, created_at
);

CREATE TABLE teams (
  id, name, created_by, created_at
);

CREATE TABLE tasks (
  id, title, description, status, assignee_id,
  team_id, due_date, created_at
);

CREATE TABLE comments (
  id, task_id, author_id, body, created_at
);

--Det er alt. 4 tabeller. Ship det.
Tommelfingerregel

Hvis du kan forklare hver tabell og hver kolonne i databasen din med én setning, er skjemaet ditt sannsynligvis riktig størrelse. Hvis du ikke kan det — er det for komplekst for der du er.

Vibecoding-sjekkliste

Fem regler for å holde det AI-bygde prosjektet ditt på rett spor.

Allerede i gang med vibecoding og har kjørt deg fast?

Det skjer. AI bygger raskt, men noen må sørge for at alt henger sammen. La oss snakke — vi hjelper deg fra prototype til produksjon.

Bestill en gratis samtale →
Gratis konsultasjon Helt uforpliktende Svar innen 24t