Pirms kāda laika man rakstīja cilvēks ar teikumu, ko pēdējā laikā dzirdu arvien biežāk: „Lietotne jau ir, tā strādā, vajag tikai pēdējo soli.“ Atvēru viņa ekrānu — un tiešām, strādāja. Glīts interfeiss, pogas klikšķinās, dati parādās. Viss uztaisīts dažās dienās ar Lovable, gandrīz bez vienas paša rakstītas koda rindas. Problēma bija tā, ka „pēdējais solis“ patiesībā bija viss, kas atšķir demo no produkta. Un tā „visa“ bija vairāk nekā visa iepriekšējā darba kopā.
Šim fenomenam jau ir nosaukums — vibe coding. Šajā rakstā paskaidrošu, kas tas ir, kāpēc tas ir ģeniāls prototipam un bīstams produktam, kā tieši trūkst vibe-coded lietotnei, kad ar to pilnīgi pietiek (jā, dažreiz tiešām pietiek) un kā no šāda prototipa uztaisīt reālu, produkcijā strādājošu produktu. Rakstu no skatpunkta, kas pie manis nonāk regulāri: cilvēks ar gandrīz gatavu lietotni, kas vienkārši nesāk strādāt īstajā pasaulē.
Kas ir vibe coding
Vibe coding ir veids, kā uztaisīt lietotni nevis rakstot kodu, bet aprakstot AI rīkam, ko vēlies. „Uztaisi man uzdevumu saraksta lietotni ar pieslēgšanos un tumšo režīmu“ — un pēc dažām sekundēm ir strādājošs ekrāns. Nepatīk krāsa — palūdz nomainīt. Trūkst pogas — palūdz pievienot. Tu neraksti kodu rindu pa rindai — vadi pēc sajūtas: palūdz, paskaties uz rezultātu, palūdz salabot. Latviski to mēdz pateikt vienkārši: „uztaisīju ar AI“ vai „uzģenerēju ar mākslīgo intelektu“.
Rīki, kas to dara, jau ir labi zināmi: Lovable un Bolt ģenerē veselu lietotni, v0 — interfeisu, Cursor un ChatGPT raksta kodu pēc sarunas. Tā tiešām ir iespaidīga tehnoloģija, un es to nenoniecinu — pats katru dienu izmantoju AI rīkus savā darbā. Jautājums nekad nav bijis „vai AI var rakstīt kodu“. Jautājums ir „vai tas, ko tas uzrakstīja, izturēs reālo pasauli“.
Jo vibe coding ir viena neredzama īpašība: tas ir optimizēts tā, lai izskatītos, ka strādā. AI ģenerē kodu, kas iziet acīmredzamo testu — tu nospied pogu un kaut kas notiek. Bet „strādā manā ekrānā“ un „strādā produkcijā reāliem lietotājiem“ ir divas pilnīgi atšķirīgas lietas, un starp tām slēpjas tieši tas darbs, ko AI neizdara pats no sevis. Tieši tāpēc tik bieži dzirdu „prototips ir, bet nevaru palaist produkcijā“.
Kāpēc tas ir lielisks prototipam un bīstams produktam
Prototipa uzdevums ir viens — pierādīt ideju. Tam pietiek strādāt tev, vienu reizi, pa laimīgo ceļu (tā saucu scenāriju, kad lietotājs visu dara pareizi un nekas nelūst). Ja gribi parādīt investoram, kā izskatīsies tavs pakalpojums, vai pats sev pārbaudīt, vai idejai vispār ir jēga — vibe coding šeit ir nepārspējams. Tas, kam agrāk vajadzēja nedēļu un dažus tūkstošus eiro, tagad tiek izdarīts vienā pēcpusdienā. Tas ir reāls, milzīgs pluss.
Produkta uzdevums ir pavisam cits. Produktam jāstrādā nevis tev, bet svešiem cilvēkiem. Ar sliktu internetu. Ar nepareizi ievadītiem datiem. Ar cilvēku, kurš mēģina tevi apkrāpt. Naktī, kad tu guli. Pēc pusgada, kad mainījusies kāda bibliotēka. Ar tūkstoš lietotājiem vienlaikus, ne ar vienu. Tieši šeit vibe-coded prototips sāk birt — un birst nevis tur, kur redzams, bet tur, kur neredzams, līdz kļūst par vēlu.
Bīstamākā vibe coding ilūzija
Kad lietotne izskatās 90% pabeigta, intuīcija saka, ka palicis 10% darba. Realitātē ir otrādi: redzamā daļa (interfeiss, pogas, ekrāni) ir tā vieglā, ko AI izdara labi. Bet neredzamā daļa — drošība, dati, robežgadījumi, deploy — ir gan vissmagākā, gan visdārgākā. To smago 30% es atsevišķi aprakstīju rakstā „AI lietotne iestrēgusi — ko darīt tālāk“.
7 lietas, kuru vibe-coded lietotnei nav
Kad paņemu rokās vibe-coded projektu, gandrīz vienmēr trūkst to pašu septiņu lietu. Ne tāpēc, ka AI būtu „slikts“ — tas vienkārši ģenerē to, ko palūdz, un šīs lietas neviens neprasa, jo par tām pat nezini, kamēr tās nekļūst par problēmu.
| Kā trūkst | Kāpēc tas svarīgi produkcijā |
|---|---|
| 1. Automātiskie testi | Bez testiem katra izmaiņa ir azarts. Salabo vienu vietu — neredzami salūst cita. Vibe-coded kodā testu gandrīz nekad nav, tāpēc projekts kļūst arvien trauslāks, jo vairāk to aiztiec. |
| 2. Kļūdu apstrāde | Kas notiek, kad pārtrūkst internets, serveris neatbild vai lietotājs ievada blēņas? Prototipā — balts ekrāns vai crash. Produktā jābūt skaidram paziņojumam, rezerves ceļam un klusam kļūdas pierakstam. |
| 3. Drošība | Atvērtas API atslēgas pašā kodā, neaizsargāta datubāze, kur jebkurš var paņemt svešus datus, nekāda ievades validācija. Tā ir biežākā un bīstamākā vibe-coded sprauga — to izmanto dažās minūtēs. |
| 4. Datu migrācijas | Kad pievieno jaunu lauku vai maini struktūru, jau esošajiem lietotāju datiem jā„pārceļas“ bez zaudējumiem. Vibe prototipā datu shēmu maina, dzēšot un veidojot no jauna — produkcijā tas nozīmētu izdzēstus klientus. |
| 5. Monitorings | Produkcijā par problēmu jāuzzina ātrāk par lietotāju. Bez kļūdu izsekošanas un logiem tu neredzi, ka puse cilvēku nevar pieslēgties — uzzini tikai tad, kad viņi pārstāj atgriezties. |
| 6. Mērogs | Kods, kas strādā ar vienu lietotāju, var sabrukt ar simtu. Neoptimizēti datubāzes pieprasījumi, nekāda kešošana, viss vienā plūsmā — prototipam vienalga, produktam liktenīgi pirmajā veiksmīgajā dienā. |
| 7. Uzturēšana | Bibliotēkas noveco, parādās drošības spraugas, mainās maksājumu un pieslēgšanās noteikumi. Produkts prasa pastāvīgu uzturēšanu. Vibe-coded kods, ko neviens nesaprot, kļūst nelabojams pēc pirmās nopietnās avārijas — tipiska frāze ir „vairs nesaprotu, ko tas kods dara“. |
Pievērs uzmanību: nevienu no šīm septiņām lietām lietotājs neredz, kamēr viss kārtībā. Visas tās parādās tajā vienā sliktajā dienā — un tieši to dēļ produktu būvēt ir dārgāk un lēnāk nekā prototipu. Tas nav „laka“ beigām, tas ir pamats.
Kad vibe coding tiešām pietiek
Tagad — svarīgākā un godīgākā šī raksta daļa. Vibe coding nav „slikti“. Ir daudz gadījumu, kad ar to ne tikai pietiek, bet tas ir arī gudrākā izvēle. Ja tu trāpi vienā no tiem — nealgo mani, taupi naudu un taisi pats.
Šeit vibe coding tiešām pietiek
- Iekšējs rīks dažiem cilvēkiem. Kalkulators, tabula, vienkārša sistēma, ko lieto tava komanda. Ja netur svešus datus un nepieņem naudu — taisi ar AI un nedomā divreiz.
- Demo investoram vai klientam. Vajag parādīt, kā izskatīsies ideja. Nevienam nav svarīgi, kas zem pārsega, ja mērķis ir pārliecināt, ne apkalpot.
- Idejas vizualizācija sev. Gribi redzēt, vai tava iecere vispār ir jēgpilna, pirms ieguldi nopietnu naudu. Vibe prototips atbild uz šo jautājumu vislētāk.
- Personīgs projekts. Hobijs, personīgais dienasgrāmatas rīks, instruments sev. Ja salūzīs — salūzīs tev vienam, un to tu izturēsi.
Vispārējais princips ir vienkāršs: ja lietotne netur svešus datus un nepieņem naudu, vibe coding tev visdrīzāk pietiek.
Kad vibe coding vairs nepietiek
Un tagad otra puse. Ir robeža, aiz kuras „izskatās, ka strādā“ kļūst par risku, kas maksā daudz vairāk nekā ietaupīji būvējot. To pārkāp tajā brīdī, kad lietotni sāk lietot cilvēki, kurus tu nepazīsti, vai kad caur to plūst nauda.
| Vibe coding pietiek | Vajadzīga profesionāla pārbūve |
|---|---|
| Lieto tikai tu vai šaurs uzticams loks | Lieto nepazīstami, reāli klienti |
| Sistēmā nav nekādas naudas | Maksājumi, abonementi, norēķini (Klix, banklink, Stripe) |
| Dati nesvarīgi vai publiski | Personas dati, VDAR, klientu privātums |
| Sabrukums neko nemaksā | Dīkstāve nozīmē zaudētus klientus vai reputāciju |
| Pastāv dažas nedēļas | Jāstrādā un jābūt uzturamam gadiem ilgi |
Tiklīdz parādās reāli klienti vai maksājumi, katra no tām septiņām trūkstošajām lietām pārvēršas atbildībā. Neaizsargāta datubāze ar taviem klientiem — jau nav tehniska sīkumu, bet VDAR (GDPR) pārkāpums, par ko Latvijā uzraudzību veic Datu valsts inspekcija (DVI) un piemēro sankcijas. Pievieno tam, ka vibe-coded prototipi gandrīz nekad pareizi neizdara obligāto sīkdatņu piekrišanu (cookie consent) un privātuma politiku, un tu jau esi neatbilstībā ar likumu, pat to nepamanot. Maksājumi bez kļūdu apstrādes — nauda, kas pazūd starp tevi un banku. Tāpēc šeit jau nav vibe coding jautājums, bet produkta jautājums.
Kā no vibe prototipa uztaisīt produktu
Laba ziņa: vibe prototips bieži nav izšķiests darbs — tas ir lielisks starts. Tu jau esi izlēmis, ko lietotne dara, kā izskatās, kāda ir loģika. Tā ir vērtīgākā un visgrūtāk pierakstāmā specifikācijas daļa, un tā jau ir izdarīta. Atliek aizvērt to smago 30%, kuru dēļ prototips nav produkts.
Kad pie manis vēršas ar vibe-coded projektu, vispirms pārskatu repo un izlemju vienu lietu: turpināt uz esošā koda vai pārbūvēt tīri. Lēmumu nosaka nevis koda daudzums, bet tā struktūra. Ja loģika un datu modelis ir veseli, turpinu uz tiem un pievienoju trūkstošo slāni. Ja kods ir haotisks, ar atvērtām atslēgām un nesavaldāmu state — tīra pārbūve iznāk ātrāk un lētāk nekā lāpīšana. Plašāk par to, kas notiek, kad AI kods sāk grūt un „labojot“ grūst vēl vairāk, rakstu atsevišķā rakstā „Lovable, Bolt, v0, Cursor — ko darīt, kad AI kods salūst“.
Ceļš no prototipa līdz produkcijai
- Audits. Pārskatu, kas tiešām strādā un kas tikai izskatās. Atrodu drošības spraugas un kritiskās vietas.
- Stabils pamats. Droša datubāze, normāla pieslēgšanās, paslēptas atslēgas, ievades validācija — tas, uz kā var būvēt.
- Smagais 30%. Maksājumi, integrācijas, kļūdu apstrāde, robežgadījumi. Latvijā šeit bieži pievienojas vietējās integrācijas (Klix vai Swedbank/SEB maksājumu vārteja, banklink, Omniva un DPD pakomāti, eParaksts vai Smart-ID pieslēgšanai), kuras AI nepazīst un nepieslēgs.
- Drošinātājs. Testi, monitorings un logi, lai par problēmu uzzinātu tu, ne tavs klients.
- Deploy un uzturēšana. Īsts domēns, īsts hostings, dublējumkopijas un skaidra vienošanās, kas uzturēs tālāk.
Mans piedāvājums nekad nav „sakārtošu tavu kodu“. Tas ir „uzbūvēšu tā, lai strādā un pelna“. Atšķirība ir būtiska: koda sakārtošana ir kosmētika, bet produkta uzbūvēšana nozīmē, ka tavi klienti var mierīgi lietot, maksāt un atgriezties, bet tu vari mierīgi gulēt.
Reāli skaitļi
Konkrēti par cenu, jo to tāpat jautāsi. Ja vibe prototipam jau ir loģika un ekrāni, tīra pārbūve līdz produkcijai — ar autentifikāciju, drošību, deploy un pamata integrācijām — parasti maksā no 3000 līdz 8000 EUR bez PVN. Sarežģītāki produkti ar maksājumiem (Klix, banklink, Stripe), vietējām integrācijām un admin paneli — no 8000 EUR un vairāk bez PVN. Termiņi parasti ir 2–6 nedēļas atkarībā no tā, cik tālu prototips patiesībā ir ticis.
Tas var izklausīties kā krietns naudas daudzums par „gandrīz gatavu“ projektu. Bet atceries tabulu ar septiņām trūkstošajām lietām — tu nemaksāsi par lakošanu, tu maksāsi par to pamatu, bez kura lietotne nav produkts, bet tikai tā fotogrāfija. Latvijas tirgū ir daudz „no 999 €“ template aģentūru, taču AI prototipa pārbūve nav template darbs: tā ir fiksētas cenas drošas pabeigšanas projekts, kur vērtība ir nevis lētums, bet tas, ka rezultāts nesabrūk.
Ir vibe-coded prototips, ko gribi pārvērst reālā produktā?
Pārskatīšu tavu Lovable, Bolt, v0 vai Cursor projektu un atklāti pateikšu, vai ir vērts turpināt uz esošā koda vai lētāk pārbūvēt tīri — ar konkrētu cenu un termiņu. Pirmā konsultācija bez maksas. Rakstības latviski: info@webxpert.lt.
Apspriest manu projektuBiežāk uzdotie jautājumi
Kas ir vibe coding?
Vibe coding ir veids, kā uztaisīt lietotni, aprakstot AI rīkam (Lovable, Bolt, v0, Cursor, ChatGPT) latviski vai angliski, ko vēlies, un tas uzģenerē kodu. Tu neraksti kodu rindu pa rindai — vadi pēc sajūtas: palūdz, paskaties uz rezultātu, palūdz salabot. Tas lieliski der ātram prototipam, bet uzģenerētais kods bieži vien nesatur to, kas vajadzīgs produkcijai — testus, kļūdu apstrādi, drošību.
Ar ko prototips atšķiras no produkta?
Prototipam jāpierāda ideja — pietiek, ka tas strādā tavā ekrānā pa laimīgo ceļu. Produktam jāstrādā produkcijā, ar reāliem lietotājiem, sliktu internetu, nepareizi ievadītiem datiem un ļaunprātīgiem. Atšķirību veido testi, kļūdu apstrāde, drošība, datu migrācijas, monitorings, mērogs un uzturēšana — tieši tas, kā vibe-coded prototipam parasti nav.
Vai vibe-coded prototipu var palaist produkcijā?
Tehniski palaist var, bet reāliem klientiem vai maksājumiem to neiesaku. Vibe prototipam parasti trūkst drošības (atvērtas API atslēgas, neaizsargāta datubāze), kļūdu apstrādes un monitoringa. Pirmais ļaunprātis vai pirmie negaidītie dati to viegli apgāž. Pirms palaišanas vajadzīgs cilvēks, kas aizver to smago 30% — drošību, datus, deploy un robežgadījumus, un arī nodrošina VDAR atbilstību (sīkdatņu piekrišanu un privātuma politiku).
Kad vibe coding tiešām pietiek?
Vibe coding pietiek, kad lietotne netur svešus datus un nepieņem naudu: iekšējam rīkam dažu cilvēku komandai, demo investoram, idejas vizualizācijai, personīgam projektam. Ja to lieto tikai tu pats vai šaurs uzticams loks, vibe-coded risinājums ietaupa daudz laika un naudas — tādā gadījumā es tiešām neiesakāšu algot izstrādātāju.
Cik maksā no vibe prototipa uztaisīt reālu produktu Latvijā?
Atkarīgs no tā, cik tālu prototips ir ticis. Ja loģika un ekrāni jau ir, tīra pārbūve līdz produkcijai ar autentifikāciju, drošību, deploy un pamata integrācijām parasti maksā no 3000 līdz 8000 EUR bez PVN. Sarežģītāki produkti ar maksājumiem (Klix, banklink), vietējām integrācijām un admin paneli — no 8000 EUR un vairāk bez PVN. Visgrūtākā un dārgākā daļa vienmēr ir tas pēdējais 30%, ne sākums.
Vai ir vērtīgi turpināt uz vibe-coded koda, vai pārrakstīt no nulles?
Lēmumu nosaka nevis koda daudzums, bet tā struktūra. Ja prototipa loģika un datu modelis ir veseli, bieži vien varu turpināt uz tiem un tikai pievienot trūkstošo produkcijas slāni. Ja kods ir haotisks, ar atvērtām atslēgām un nesavaldāmu state, tīra pārbūve iznāk ātrāk un lētāk nekā lāpīšana. Lēmumu pieņemu, pārskatījis repo — un vienmēr izvēlos to ceļu, kas tevi lētāk aizved līdz strādājošam, uzturamam produktam.