Från prompts till produktion
Kan man egentligen bygga en fullvärdig applikation med en AI som utvecklingspartner? Det vill säga att inte bara använda ChatGPT för att felsöka små kodsnuttar, utan faktiskt låta en AI skriva hela funktioner medan du guidar processen genom samtal?
Det var utgångspunkten för VibeSteps, en social stegräknarapp som vi ville bygga helt och hållet genom en ny utvecklingsmetod, vibe coding.
Läs vidare för att se hur vibe coding förändrade vårt arbetssätt, vad vi byggde och vad vi lärde oss längs vägen.
Vibe coding innebär att man bygger programvara genom samtal i stället för att skriva koden själv. Vi använde Lovable, en plattform där du beskriver i text vad du vill ha och som genererar en komplett webbapplikation med frontend, backend och databaskopplingar. I stället för att skriva kod skrev vi instruktioner. AI genererade implementationen medan vi styrde riktningen.
Utmaningen: Kan AI göra oss snabbare och mer kreativa?
Vårt projekt hade två huvudmål:
-
Att testa om vibe coding kunde accelerera utvecklingsprocessen, särskilt för utvecklare med kortare erfarenhet.
-
Att bygga en fullt fungerande applikation genom samtalsbaserad utveckling, inklusive autentisering, relationsbaserad databehandling, användargränssnitt, administrationsverktyg och realtidsinteraktioner.
Vi valde medvetet en produkt som var tekniskt komplett. VibeSteps utvecklades som en intern app för att få våra medarbetare att röra sig mer. Medarbetare kunde registrera dagliga steg manuellt eller logga aktiviteter som golf och träningspass, som automatiskt omvandlades till steg. Appen innehöll även lagtävlingar och topplistor mellan kontor och regioner och gjorde fysisk aktivitet till en vänskaplig och motiverande tävling. Konceptet var enkelt men funktionernas bredd var tillräcklig för att ge en ordentlig stresstest av metod och teknik.
Teknisk plattform och första implementationen
Vi började med en omfattande prompt som beskrev hela MVP specifikationen, autentiseringsflöde via Azure Entra ID, databasschema, sidstruktur och krav på användargränssnitt.
Lovable genererade följande:
-
Autentiseringslösning integrerad med Azure Entra ID
-
Första databasimplementationen i Supabase, ett öppet alternativ till Firebase med PostgreSQL, autentisering och API generering
-
Funktionella implementationer av alla specificerade sidor och komponenter
Den första leveransen bekräftade huvudpoängen med vibe coding, en snabb översättning av övergripande krav till körbar kod utan den vanliga implementeringsbördan. Denna fas visade sig vara särskilt värdefull för utvecklare med fokus på backend eftersom den minskade friktionen i arbetet med frontend och gav en betydligt snabbare väg till en första fungerande MVP.
När verkligheten mötte AI - vad som faktiskt fungerade (och inte)
Allt eftersom utvecklingen fortsatte blev flera begränsningar i metoden tydliga.
Förutsägbarhet i promptresultat
Resultaten från prompts var inte deterministiska. Även små justeringar, till exempel ändringar i layout, krävde nya prompts utan garanti för att det faktiskt skulle fungera. Flera gånger misstolkade Lovable instruktionerna, skrev över befintlig logik eller ändrade kod utanför det område vi hade specificerat, vilket ledde till manuella återställningar och extra arbete.
Konsekvenser av kostnadsmodellen
Den tokenbaserade prismodellen påverkade utvecklingsprocessen direkt. Iteration var aldrig gratis och missförstådda prompts ledde ofta till flera nya prompts och därmed ökade kostnader för att återställa stabiliteten. Detta förändrade teamets beteende. Prompting användes inte längre fritt och utforskande utan som en medveten handling. Vi behövde alltid bedöma om en förändring var värd både kostnaden och risken för oavsiktliga konsekvenser.
Med tiden användes Lovable främst för tydligt avgränsade uppgifter som databasmigreringar, typgenerering och liknande. Utforskande arbete, komplex affärslogik och arkitektoniska beslut hanterades i allt större utsträckning manuellt. I praktiken fungerade vibe coding bäst när prompts var korta, konkreta och användes där nyttan med AI översteg risken för merarbete.
Behov av validering
Ett grundläggande problem var osäkerheten kring vad AI faktiskt förstod. Otydliga prompts gav fel implementation medan mycket detaljerade prompts ofta delvis ignorerades. Med tiden utgick vi från att AI inte helt skulle förstå instruktionen om inte motsatsen bevisades.
En hybridmodell växer fram: Där AI möter traditionell utveckling
Ur ett produktperspektiv introducerade vibe coding en ny typ av osäkerhet eftersom resultaten inte var lika förutsägbara som i en traditionell utvecklingsprocess.
Planering blev svår. Tiden det tog att skriva en prompt var minimal men validering, korrigeringar och revideringar tog ofta betydligt längre tid. Traditionella sprintar fungerade helt enkelt inte. Vi gick därför över till en mer flexibel metod med en strategi på tre fronter.
-
Lovable för användargränssnitt och nya funktioner
-
Supabase för direkt backendlogik
-
Lokala miljöer för att testa idéer utan risk
Vi lärde oss att bryta ned allt i mycket små steg med kontinuerliga kontrollpunkter. Planeringen gick från att säga detta bygger vi de kommande två veckorna till att säga detta är riktningen vi arbetar i.
När systemet växte blev Supabase stabiliserande och balanserade volatiliteten från AI. Mer avancerad logik flyttades till funktioner i PostgreSQL och säkerhetsregler på radnivå och schemaändringar hanterades manuellt för att undvika oväntade konsekvenser.
Från experiment till verkligt värde: Det här tog vi med oss
Erfarenheterna från VibeSteps visade tydligt att vibe coding inte innebär att lämna över kontrollen till en AI utan att etablera ett nytt arbetssätt där utvecklare fortfarande ansvarar för kvalitet, riktning och långsiktigt underhåll. AI verktyget hjälpte oss att snabbt komma i gång, särskilt i uppstartsfasen där struktur, användargränssnitt och grundläggande funktionalitet skulle etableras. När applikationens komplexitet ökade blev metoden dock mer oförutsägbar och tidskrävande. Det ledde naturligt till en gradvis övergång tillbaka till mer traditionell utveckling för de delar som krävde precision och stabilitet.
Själva VibeSteps appen togs emot mycket positivt internt. Medarbetare började använda lösningen med stort engagemang, tävlingarna skapade aktivitet mellan kontor och återkopplingen visade att appen uppfyllde sitt syfte, att göra aktivitet social, motiverande och enkel att följa upp. Projektet blev därför både givande och lärorikt, inte bara tekniskt utan också ur perspektivet faktisk användarupplevelse och värde för organisationen.

Baserat på våra erfarenheter framstår vibe coding som särskilt användbart i mindre projekt och tidiga utvecklingsfaser. Det fungerar bäst i situationer där man vill ha snabb framdrift, behöver en visuell utgångspunkt eller bygger interna verktyg där perfektion inte är avgörande. För prototyper och MVP ger metoden ett tydligt försprång.
Däremot passar vibe coding sämre i projekt med hög komplexitet, omfattande affärslogik, strikta krav på stabilitet eller lång tidshorisont. I sådana fall blir AI:s oförutsägbara förändringar, risken för fel och behovet av kontinuerlig validering mer kostsamt än värdefullt. Där är traditionell utveckling mer robust och förutsägbar.
Sammanfattningsvis landade vi i en hybridmodell där AI accelererar starten och driver idéutvecklingen framåt medan mänsklig expertis säkerställer kvalitet, arkitektur och vidareutveckling. Vibe coding ersätter inte utvecklare, det förändrar var i processen AI kan skapa mest värde och där mänsklig expertis fortfarande är avgörande.