Scena, kurią matau beveik kas savaitę. Žmogus per savaitgalį su Lovable, Bolt ar v0 pasidaro veikiantį demo, apsidžiaugia, parodo draugams. Tada nori pridėti vieną dalyką – mokėjimus, prisijungimą, kitą ekraną – ir viskas pradeda griūti. Paprašo AI pataisyti. Pataiso. Po valandos sulūžta kažkas, kas veikė. Vėl prašo taisyti. Po dešimto rato kodas jau toks, kad nei jis, nei AI nebesupranta, kas vyksta.
Jei čia atpažinai save – tai ne tavo kaltė ir ne kvailumo požymis. Šie įrankiai būtent tam ir padaryti: greitai parodyti idėją. Problema prasideda tada, kai bandai iš demo padaryti tikrą, naudotojams atiduodamą produktą. Šiame straipsnyje atvirai išdėstysiu, kur konkrečiai kiekvienas įrankis pasiekia savo sieną, kodėl AI „pataiso" ir vėl sulaužo, ką paruošti prieš kreipiantis ir kada apskritai verta gelbėti esamą kodą, o kada pigiau perstatyti švariai.
Kalbu ne iš teorijos. Tokių projektų matau nuolat, ir mano kelias su jais visada tas pats: sulūžusio Lovable ar Bolt kodo neperimu ir nelopau, o prototipą naudoju kaip specifikaciją ir produktą pastatau nuo nulio – kad veiktų produkcijoje, su realiais naudotojais ir pinigais. Tai noriu, kad žinotum iš karto – nes tai keičia, ko apskritai verta prašyti.
Kodėl AI nuveda iki 80 % ir ten sustoja
Lovable, Bolt ir v0 nuostabiai greitai daro tą dalį, kuri matoma – mygtukus, formas, ekranus, gražų išdėstymą. Tai maždaug 80 % to, kas atrodo kaip „programa". Bet likę 20 % – mokėjimai, autentifikacija, duomenų bazė, deploy, saugumas, GDPR, kraštiniai atvejai – yra sunkiausia, brangiausia ir būtent ta dalis, dėl kurios programa apskritai veikia su realiais žmonėmis. AI ten ne tobulina – ten atsitrenkia.
Priežastis paprasta. Tas matomas sluoksnis yra šabloniškas: panašių formų ir ekranų internete milijonai, AI juos „matė" ir atkartoja akimirksniu. O likę 20 % yra unikalūs tavo projektui ir reikalauja sprendimų, kuriuos turi priimti suprasdamas visumą – kaip duomenys teka, kur jie saugomi, kas gali ką matyti, kas atsitinka, kai mokėjimas nepavyksta. Tai ne kopijavimas, o inžinerija. Ir būtent ten viskas pradeda lūžti.
Kur lūžta pagal įrankį
Kiekvienas įrankis turi savo „charakterį" ir savo tipinę gedimo vietą. Žinant ją, daug greičiau supranti, ką iš tikrųjų turi rankose.
Lovable — deploy ir duomenų bazė
Lovable kuria pilną aplikaciją (React + Supabase) ir tvarko nemažai pats, todėl pradžioje atrodo magiškai. Bet lūžta paprastai dviejose vietose. Pirma – Supabase duomenų bazė: kai duomenų modelis pasidaro sudėtingesnis, prasideda RLS (eilučių lygio saugumo) taisyklių painiava, lentelių ryšiai sukimba ir užklausos grąžina arba per daug, arba nieko. Antra – deploy ir aplinkos: lokaliai ar Lovable peržiūroje veikia, o realiame domene su tikrais kintamaisiais nebeveikia, nes raktai, nuorodos ar CORS sukonfigūruoti tik „demo režimui".
Bolt — state ir integracijos
Bolt puikiai sugeneruoja interaktyvų frontend'ą labai greitai. Siena – kai aplikacijoje atsiranda daug būsenos (state): krepšelis, prisijungęs naudotojas, filtrai, formos, kurios viena nuo kitos priklauso. Tas state pradeda „pabėgti" – paspaudi vienur, atsinaujina nesusijęs dalykas kitur. Antra Bolt skausmo vieta – integracijos su realiomis sistemomis: mokėjimai, el. paštas, išorinis API. Demo lygmenyje Bolt parodo „kaip atrodytų", bet tikram pajungimui reikia serverinės dalies, paslapčių valdymo ir klaidų apdorojimo, kurio greitas generavimas nepadaro.
v0 — gražus UI, bet backend'ą reikia tikrinti
v0 (iš Vercel) yra geriausias iš šios grupės vienam dalykui – sukurti tikrai gražų React/Next.js sąsajos komponentą ar visą puslapio vaizdą. Jis gali sugeneruoti ir duomenų bazę, prisijungimą bei serverio logiką, bet stipriausia jo pusė – priekis. Žmonės įstringa, nes turi nuostabiai atrodantį ekraną ir galvoja, kad liko „tik prijungti" – o realiai sunkiausia dalis (saugumas, duomenų logika, klaidų apdorojimas) dar nepatikrinta.
Cursor — generuoja, bet tu turi suprasti
Cursor kitoks nei trys viršuje – tai redaktorius su galingu AI, skirtas žmogui, kuris jau moka skaityti kodą. Jis gali parašyti daug ir greitai. Bet jei nemoki įvertinti, ką jis parašė, jis tiesiog leidžia tau greičiau prikurti to, ko nesupranti. Tipinis scenarijus: Cursor sugeneruoja sudėtingą logiką, ji beveik veikia, tu prašai pataisyti detalę, jis perrašo daugiau, nei reikėjo, ir staiga turi 2 000 eilučių, kurių nei perskaityti, nei saugiai keisti negali. Cursor nuostabus profesionalui ir pavojingas tam, kuris tikisi, kad jis „pats viską sutvarkys".
Bendras vardiklis
Visi keturi įrankiai laisvai daro tą dalį, kuri panaši į milijoną kitų projektų, ir atsitrenkia į tą, kuri unikali tavo atvejui. Mokėjimai, kurie turi suvesti su tavo buhalterija. Prisijungimas, kuris turi būti saugus. Duomenys, kurie turi atitikti GDPR. Kraštiniai atvejai, kurie nutinka tik tavo verslo logikoje. Niekas iš to neturi paruošto šablono – todėl ten ir griūva.
Kodėl AI „pataiso" ir vėl sulaužo
Tai vienas dažniausių klausimų, kurį girdžiu: „kodėl jis taiso vieną, o sulaužo kitą?" Atsakymas – konteksto praradimas. AI nemato viso tavo projekto vienu metu kaip vientisos sistemos. Kiekvienoje pataisoje jis dirba su ribota matoma dalimi, „prisimena" tik tiek, kiek telpa, ir spėja apie likusią. Taisydamas vietą A, jis nesąmoningai keičia kažką, nuo ko priklauso vieta B, apie kurią tuo metu „nežinojo".
Kuo projektas didesnis, tuo greičiau šis ratas užsiveda. Pradžioje, kol failų mažai, AI dar laiko viską „galvoje" ir atrodo nuostabiai. Pasiekus tam tikrą dydį, kiekvienas naujas pataisymas turi vis didesnę tikimybę ką nors palaužti. Tu prašai taisyti dažniau, jis perrašo vis daugiau, kodas darosi vis labiau išmėtytas – ir staiga esi rate, iš kurio AI tavęs neištrauks, nes jis pats ir yra to rato priežastis.
Žmogus laužą šį ratą paprastai: laiko visą architektūrą galvoje, supranta priežastį, ne tik simptomą, ir taiso vieną kartą taip, kad liktų pataisyta. Ten, kur AI lopo dešimt kartų, suprantantis žmogus pataiso vieną.
Ką daryti PRIEŠ kreipiantis
Jei nusprendei, kad esamą kodą turi taisyti žmogus – tas, kuris jį kūrė, ar kitas programuotojas, – yra trys dalykai, kuriuos pasiruošus įvertinimas vyksta greitai ir tiksliai, o ne brangiu spėliojimu. Tai padaryti gali pats per pusvalandį.
Trys dalykai, kuriuos paruošk
1. Prieiga prie kodo. Ne ekrano nuotraukos. Lovable ir Bolt leidžia sinchronizuoti į GitHub – padaryk tai ir duok prieigą prie repo. Jei naudojai v0 ar Cursor – eksportuok arba duok visą projekto aplanką. Be kodo bet koks įvertinimas yra spėjimas.
2. Prieiga prie servisų. Supabase, Vercel, mokėjimų paskyra, el. pašto siuntimas – viskas, ką programa naudoja. Dažnai problema slypi būtent konfigūracijoje, ne kode.
3. 5–10 sakinių aprašymas. Ką programa turi daryti, kam ji skirta ir kas konkrečiai neveikia. „Naudotojas turi užsiregistruoti, susimokėti per Stripe ir gauti prieigą; registracija veikia, bet po mokėjimo prieiga neatsidaro." Toks aprašymas vertingesnis už valandą pokalbio.
Su šiais trimis dalykais programuotojas gana greitai pasakys, ar užtenka taškinių pataisymų, ar pigiau perstatyti, ir kokia realiai kaina. Be jų – tik bendros frazės, kurių niekam nereikia. Jei renkiesi švarų perkūrimą pas mane, iš šio sąrašo reikia tik trečio punkto ir nuorodos į prototipą: kodo neperimu, todėl prieiga prie repo nereikalinga.
Gelbėti ar perstatyti?
Pats svarbiausias sprendimas – ir jį gali priimti pats. Priešingai nei galima tikėtis, ne visada teisingas atsakymas yra „mesk viską ir rašyk iš nulio“. Logika maždaug tokia.
| Situacija | Ką rinktis |
|---|---|
| UI tvarkingas, problemos lokalios (neprisijungia mokėjimai, lūžta deploy, viena integracija) | Gelbėti. Taškiniai pataisymai – pats arba su žmogumi, kuris kūrė. Dažnai pigiausias kelias. |
| Frontend geras, bet nėra realaus backend'o ar duomenų modelio | Mišriai. Palikti frontend'ą ir po juo pastatyti švarų backend'ą gali kūrėjas ar kitas programuotojas. |
| Logika išmėtyta, kiekvienas pataisymas laužo kitką, niekas nesupranta struktūros | Perstatyti. Vizualas tampa specifikacija, kodas rašomas švariai nuo nulio – tai ir yra mano darbas. |
| Tai vidinis įrankis ar demo, ne realiems klientams ir pinigams | Galbūt tau pakanka AI. Pasakau atvirai, jei nereikia manęs. |
Noriu pabrėžti paskutinę eilutę. Jei tavo projektas yra hobis, vidinis įrankis kelių žmonių komandai ar idėjos vizualizacija – AI tau tikrai užteks, ir aš tau tai pasakysiu. Nesistengiu parduoti darbo ten, kur jo nereikia. Lygiai taip pat atvirai pasakau, ką darau pats: tik švarų perstatymą nuo nulio – gelbėjimą ir lopymą palieku tau arba žmogui, kuris kūrė.
Svarbiausia mintis apie perstatymą
Perstatymas neretai atrodo brangesnis, bet būna pigesnis už mėnesius lopymo, kuris vis tiek baigiasi perrašymu. Kai logika išmėtyta, kiekviena nauja funkcija užtrunka vis ilgiau, nes pirma reikia suprasti, ko nesupranta net pati programa. Švarus pagrindas atsiperka jau po antros ar trečios funkcijos.
Ir beveik visada išsaugau tai, kas gera – gražų vizualą iš v0 ar Bolt, tvarkingą formą iš Lovable – kaip specifikaciją ir vizualinį orientyrą. Perstatymas nereiškia, kad tavo darbas dingo. Jis reiškia, kad po juo atsiranda tai, kas neleis vėl griūti.
Kuris įrankis kam tinka — ir kur jo siena
Trumpa lentelė, kad nesusipainiotum renkantis. Tai ne reitingas „geriausias–blogiausias", o žemėlapis, kuriam darbui kiekvienas skirtas ir kur baigiasi jo galimybės.
| Įrankis | Kam tinka | Kur siena |
|---|---|---|
| Lovable | Pilnas demo su DB ir prisijungimu, greitas MVP idėjai patikrinti | Supabase taisyklės, deploy į realų domeną, augantis duomenų modelis |
| Bolt | Interaktyvus frontend prototipas, greitas vaizdas, kaip veiktų | Sudėtingas state, realios integracijos, mokėjimai, serverinė dalis |
| v0 | Gražūs React/Next.js komponentai ir puslapiai, UI pagrindas | Backend'as, DB ir prisijungimas – sugeneruojami, bet reikalauja kruopštaus patikrinimo |
| Cursor | Greitesnis kūrimas tam, kas moka skaityti ir vertinti kodą | Be supratimo greitai prisikuri to, ko nebevaldai |
Jei nori plačiau apie tai, kodėl AI prototipas dar nėra produktas ir kas skiria „veikia mano ekrane" nuo „veikia realiems naudotojams", apie tai esu rašęs atskirai – o kur konkrečiai įstringa AI aplikacijos ir ką daryti pirmiausia, aptariu straipsnyje apie įstrigusias AI aplikacijas.
Realūs kainų rėmai
Atvirai, nes to niekas nesako tiesiai. Taisymo ir užbaigimo ant esamo kodo nesiūlau, todėl čia – mano kainos švariam perkūrimui nuo nulio, kai tavo prototipas tampa specifikacija:
- MVP / PWA su prisijungimu, duomenimis ir deploy (iOS ir Android viena kodo baze): nuo 2 900 €
- Verslo aplikacija su mokėjimais ir integracijomis, pasiliekant gerą vizualą kaip specifikaciją: nuo 6 900 €
- Sudėtinga platforma su keliais naudotojų tipais ir daug integracijų: nuo 14 900 €
Kaina priklauso nuo to, ką produktas turi daryti, o ne nuo tavo kodo būklės – todėl pasiūlymui kodo man net nereikia. Vietinės integracijos (Paysera, Smart-ID, e-sąskaita) įskaičiuojamos į apimtį – dažniausiai tai verslo aplikacijos pakopa nuo 6 900 €. O jei dar abejoji, ar idėja apskritai verta statyti, pradėk nuo idėjos patikros už 490 €: per 5 darbo dienas gausi rašytinę ataskaitą.
AI projektas sulūžo? Nelopykime – perkurkime.
Tavo Lovable, Bolt ar v0 prototipas tampa specifikacija: ekranus ir srautus išsaugau, o po jais nuo nulio pastatau tvirtą pamatą – backend'ą, duomenis, mokėjimus ir deploy. MVP nuo 2 900 €. Aprašyk, ką kuri, ir per 24 val. atsiųsiu pasiūlymą – be miglos.
Gauti pasiūlymą perkūrimuiDažniausiai užduodami klausimai
Ar gali perimti mano Lovable projektą?
Ne. Svetimo ar AI sugeneruoto kodo neperimu, netaisau ir netęsiu – net jei jis sinchronizuotas į GitHub. Vietoj to produktą perkuriu švariai nuo nulio, o tavo Lovable prototipą naudoju kaip specifikaciją ir vizualinį orientyrą: ekranai, srautai ir logika, kurią išsigryninai, nedingsta. Tau taip naudingiau: nemoki už svetimo kodo narpliojimą, nepaveldi Supabase taisyklių painiavos ir paslėptų spragų, o gauni tvarkingą pamatą, kurį gali prižiūrėti bet kuris developeris. Jei nori tęsti ant esamo kodo, tai gali daryti pats arba su žmogumi, kuris jį kūrė.
Ar Bolt kodas tinkamas produkcijai?
Frontend dažnai atrodo pakankamai gerai, bet „produkcijai tinkamas“ reiškia ne tik gražų UI – reikia tvarkingo state valdymo, saugaus backend'o, realios duomenų bazės, autentifikacijos, mokėjimų ir klaidų valdymo. Bolt generuoja greitą demo, o ne tą sunkų sluoksnį. Todėl Bolt kodo neperimu: projekto vizualą ir srautus naudoju kaip specifikaciją, o produktą su patikimu backend'u ir integracijomis statau švariai nuo nulio, kad veiktų su tikrais naudotojais ir pinigais.
Kodėl AI vis pataiso ir vėl sulaužo tą patį kodą?
Nes AI nemato viso projekto vienu metu ir neturi pastovaus konteksto. Kiekvienoje pataisoje jis dirba su ribota matomos kodo dalimi, todėl taisydamas vieną vietą nesąmoningai laužo kitą, apie kurią „pamiršo". Kuo projektas didesnis, tuo greičiau prasideda šis ratas. Žmogus laiko visą architektūrą galvoje ir taiso priežastį, ne simptomą, todėl pataisymas lieka pataisytas.
Ką turėčiau paruošti prieš kreipdamasis dėl sulūžusio AI projekto?
Priklauso nuo to, kokį kelią renkiesi. Jei esamą kodą taisys žmogus, kuris jį kūrė, ar kitas programuotojas, jam reikės trijų dalykų: prieigos prie kodo (GitHub repo arba eksportuoto projekto, ne ekrano nuotraukų), prieigos prie servisų (Supabase, Vercel, mokėjimų ar el. pašto paskyrų) ir 5–10 sakinių, ką programa turi daryti ir kas konkrečiai neveikia. Jei renkiesi švarų perkūrimą pas mane, kodo nereikia – užtenka nuorodos į prototipą ar ekranų, tų pačių 5–10 sakinių apie tai, ką produktas turi daryti, ir informacijos apie jau turimas paskyras.
Kada verta gelbėti esamą AI kodą, o kada pigiau perstatyti?
Gelbėti verta, kai UI ir struktūra tvarkingi, o problemos lokalios – neprisijungia mokėjimai, lūžta deploy, neveikia viena integracija. Tokius pataisymus gali daryti pats arba su žmogumi, kuris kūrė. Perstatyti pigiau, kai logika išmėtyta, nėra realaus backend'o ar duomenų modelio, o kiekvienas pataisymas laužo ką nors kitą. Aš dirbu tik šiuo antruoju keliu: svetimo kodo neperimu, o produktą statau nuo nulio, naudodamas tavo prototipą kaip specifikaciją.
Kiek kainuoja sutvarkyti ar užbaigti AI sugeneruotą projektą?
Sutvarkymo ar užbaigimo ant esamo AI kodo nesiūlau – tai gali daryti pats arba su žmogumi, kuris kūrė. Mano kainos skirtos švariam perkūrimui nuo nulio pagal tavo prototipą: MVP / PWA (iOS ir Android viena kodo baze) – nuo 2 900 €, verslo aplikacija su mokėjimais ir integracijomis – nuo 6 900 €, sudėtinga platforma – nuo 14 900 €. Kaina priklauso nuo to, ką produktas turi daryti, o ne nuo tavo kodo būklės, todėl pasiūlymui kodo man net nereikia. Apie paslėptus „nemokamų" AI sprendimų kaštus plačiau rašau straipsnyje apie tikrąją „nemokamos" AI svetainės kainą.
Trumpai
Lovable, Bolt, v0 ir Cursor yra puikūs įrankiai tam, kam skirti – greitai parodyti idėją. Jie sulūžta ne dėl to, kad blogi, o dėl to, kad bandai iš demo padaryti tai, kam reikia inžinerijos: saugaus backend'o, realių integracijų, tvarkingų duomenų. AI lopo simptomus ir praranda kontekstą; žmogus taiso priežastį. Jei tavo projektas įstrigo – nedaryk dvidešimto rato. Nuspręsk, kuris kelias tau: taisyti esamą kodą (pačiam arba su žmogumi, kuris kūrė) ar perkurti švariai. Jei renkiesi antrą – aprašyk, ko norėjai, ir tavo prototipas taps specifikacija: gerą darbą išsaugau, o po juo nuo nulio pastatau tai, kas neleis vėl griūti – kad veiktų ir uždirbtų, ne tik atrodytų.
Paverskime tavo demo realiu produktu
Taškinių pataisymų nedarau – darau švarų perkūrimą, kuris nebegriūva. Tavo demo tampa specifikacija, o produktas statomas nuo nulio: MVP nuo 2 900 €, verslo aplikacija su mokėjimais ir integracijomis nuo 6 900 €. Parašyk, ką kuri, ir per 24 val. gausi pasiūlymą su kaina ir terminu.
Perkurti mano demo