Migrare de pe Bubble pe cod
Fază cu fază, aplicația rămâne pornită
A fost rapid de construit. Acum e ce te ține pe loc.
Aplicația funcționează și are clienți. Dar factura crește odată cu traficul, paginile publice se încarcă în câteva secunde bune, iar Google le indexează prost. Și la prima discuție serioasă cu un investitor sau cu un cumpărător, cineva întreabă ce se întâmplă dacă platforma își schimbă prețurile sau dispare.
Cât te costă, măsurat
Măsurat 27 octombrie 2026Nu e o impresie. Se măsoară în treizeci de secunde.
1.371KB
O pagină publică servită de Bubble livrează runtime-ul platformei înainte să afișeze primul cuvânt. Nu depinde de ce ai pus pe pagină. Aceeași pagină scrisă în cod și servită static nu livrează aproape nimic.
JavaScript livrat înainte de primul cuvânt
- Pe Bubble
- 1.371 KB
- În cod
- 5 KB
Consola browserului tău, pe site-ul tău
const kb = n =>
Math.round(n / 1024) + ' KB';
const size = a => a.reduce(
(t, x) =>
t + x.encodedBodySize,
0
);
const all = performance
.getEntries()
.filter(x =>
x.encodedBodySize);
const js = all.filter(x =>
/\.js(\?|$)/.test(x.name));
const nav = all.find(x =>
x.entryType === 'navigation');
const ms =
Math.round(nav.loadEventEnd);
console.table({
total: kb(size(all)),
javascript: kb(size(js)),
load: ms + ' ms',
});Mai e ceva ce nu se vede. O pagină de marketing pe Bubble poate declanșa interogări în baza de date la fiecare afișare, inclusiv pentru roboții Google. Fiecare costă workload units, adică bani, pentru vizitatori care nu au cerut nimic. Aceeași pagină servită static costă zero pe vizită, oricâți o citesc.
Nu îți propun o rescriere de la zero, predată în bloc peste șase luni.
Nu pentru că nu s-ar putea, ci pentru că așa eșuează migrările: plătești luni întregi fără să vezi nimic, iar la final primești ceva ce nu mai seamănă cu ce aveai.
Traseul
Cinci faze. Cumperi una pe rând.
Coloana din dreapta spune în ce stare rămâne aplicația la finalul fiecărei faze. Nu cumperi tot traseul la început. Cumperi auditul. După audit decizi dacă faci faza 1, și abia după ce vezi faza 1 livrată decizi dacă mergem mai departe.
- 00
Audit
NeatinsăÎți citesc aplicația: modelul de date, workflow-urile, plugin-urile, integrările. Iese un document cu ce se traduce direct, ce trebuie regândit, planul pe faze și cât te costă lunar după.
- 01
Stratul public
FuncționeazăSite-ul public, paginile de prezentare, landing-urile și blogul ies din platformă. Pentru utilizatori nu se schimbă nimic.
- 02
Citirile
FuncționeazăPaginile care doar afișează date trec pe cod. Platforma rămâne sursa adevărului.
- 03
Scrierile și plățile
FuncționeazăFluxurile prin care intră date și bani trec pe cod, unul câte unul.
- 04
Conturile și tăierea
Risc realUtilizatorii trec, platforma veche se oprește. Singurul moment cu risc real. La aplicația pe care am mutat-o, fereastra a fost sub o oră, la volumele pe care le avea: auditul le măsoară pe ale tale.

Una care s-a făcut
O academie video, mutată integral.
Conturi, autentificare, coș, plată, acces care expiră după șase luni, certificat de absolvire și panou de administrare. Nouă limbi, cu audio în rusă și subtitrări pentru fiecare.
Ce doare și nu se poate evita
04Patru lucruri pe care nu le poate ocoli nimeni.
01
Parolele utilizatorilor
Nu ies din platformă. Cine îți promite altceva fie nu a făcut-o niciodată, fie nu îți spune tot. La faza 4, oamenii își resetează parola. Nu e un detaliu tehnic, e un email care trebuie scris bine și trimis în momentul potrivit, altfel pierzi utilizatori care nu s-au logat de trei luni.
02
Două sisteme în paralel
Între faza 2 și faza 4 rulează amândouă. În fiecare moment doar unul e sursa adevărului, și se stabilește la audit care și când se mută. Dacă nu se decide explicit, apar date care nu se potrivesc, iar asta se repară scump.
03
Plugin-urile
Unele nu au echivalent direct în cod. Fiecare e fie rescris, fie înlocuit cu un serviciu, fie tăiat pentru că oricum nu îl folosea nimeni. Împărțirea nu e niciodată egală: în aplicația pe care am mutat-o, din unsprezece plugin-uri, patru doar apelau un API, adică o după-amiază fiecare, și șapte făceau ceva în browser, iar astea sunt cele care costă. Lista apare în audit, nu la mijlocul proiectului.
04
Coada pe care nu o vede nimeni
Orice e programat în viitor trăiește doar pe platformă, și nu există niciun fel de a o lista sau exporta. Accesul care expiră la șase luni după cumpărare nu e un câmp verificat când se încarcă pagina: e câte o sarcină programată per comandă, stând într-o coadă, datată cu luni înainte. Dacă o ratezi, accesul nu mai expiră niciodată pe sistemul nou, fără nimic în niciun log care să o spună, până scrie primul om care ar fi trebuit să rămână pe dinafară. Se reconstruiește din date, nu din coadă, pentru că datele de final stau pe înregistrări, dar numai dacă cineva știe să se uite.
Înainte să decizi că pleci
O zi, 350 EURMajoritatea aplicațiilor Bubble sunt mai lente decât le face Bubble.
O parte din ce plătești e platforma și o parte e aplicația. O măsor pe a ta și îți spun care cât, în scris, înainte să decizi ceva.
Ce își face aplicația singură
Reparabil- Căutări care încarcă toată lista ca să o numere, și cele care se refac la fiecare afișare
- Repeating group-uri care interoghează înăuntrul rândului, în loc de o singură dată sus
- Workflow-uri care pornesc la fiecare încărcare de pagină, pentru că nimeni nu le-a pus o condiție
- Plugin-uri încărcate pe toate paginile pentru singurul ecran care le folosește
- Imagini servite la dimensiunea la care au fost urcate
Ce nu poate muta nimeni
Podeaua- Runtime-ul. 1.371 KB ajung înaintea primului tău cuvânt și nicio setare nu îi scoate
- O pagină publică se desenează întrebând baza de date, deci un crawler care nu a cerut nimic te costă
- Factura urmează cât e folosită aplicația, nu ce ai construit. Optimizarea mișcă numărul, nu de ce e legat
Auditul se termină într-una din două propoziții. Repari ce își face aplicația singură și rămâi, sau aplicația e deja atât de rapidă cât permite platforma și nu mai rămâne decât să pleci. O scriu pe cea adevărată, iar dacă e a doua cei 350 EUR se scad din cei 600 de mai jos.
Vezi ziua întreagăPrimești un document cu:
- Inventarul aplicației: tipuri de date, câmpuri, relații
- Workflow-urile, cu ce face fiecare și ce se întâmplă cu el
- Plugin-urile și integrările, cu echivalentul în cod sau cu lipsa lui
- Planul pe faze, cu ce se poate livra separat
- Cât te costă lunar după, față de cât te costă acum
Dacă mergem mai departe, cei 600 EUR se scad din prețul proiectului.
Dacă nu mergem, rămâi cu documentul. E al tău și îl poți da oricui altcuiva.
Când să rămâi unde ești
Nu orice aplicație are ce căuta în cod.
Dacă încă nu știi dacă produsul are piață
Viteza cu care schimbi lucrurile valorează mai mult decât factura. Rămâi.
Dacă aplicația e internă, cu câțiva zeci de utilizatori
Nu o caută nimeni pe Google. Nu ai ce câștiga.
Dacă factura lunară e mică și nu crește
Dacă nu te doare, nu e o problemă.
Ce urmează după primul mesaj
Trei pași, fără pâlnie de vânzări.
01
Îmi scrii ce aplicație ai și ce te deranjează cel mai tare la ea. Îți răspund în aceeași zi lucrătoare, cu o întrebare sau două.
02
Dacă pare că are sens, vorbim treizeci de minute. Fără prezentare și fără ofertă pregătită dinainte.
03
Dacă are sens și după discuție, îți trimit o propunere de audit, cu dată de început. Atât.