Martie 2025. M-am angajat „pentru câteva luni” la OOO DS — să construiesc un CRM pentru gestionarea apartamentelor de închiriat pe termen scurt. Martie 2026. Am încheiat contractul, iar în cele treisprezece luni produsul a parcurs drumul de la un singur Google Sheet până la o platformă SaaS completă pentru 50+ proprietăţi.
N-am plecat pentru că m-am uzat. Am plecat pentru că treaba era făcută. Dar anul acela la DomikSmart mi-a schimbat felul în care privesc orice SaaS. Scriu asta pentru mine — şi pentru cine are nevoie.
Frontend-ul şi backend-ul sunt un singur produs, nu două proiecte
Înainte de DomikSmart tratam backend-ul şi frontend-ul ca pe două fiinţe diferite cu un API comun. Pe Next.js SSR cu server actions graniţa asta dispare literal. O singură cerere poate începe randarea pe server, să aducă date în paralel din trei surse, să livreze HTML gata făcut clientului şi să hidrateze doar ce e cu adevărat interactiv.
Asta m-a obligat să regândesc ce e „o pagină”. O pagină e un contract de livrare a datelor către utilizator. Nu o componentă React, nu o rută, nu un endpoint. Dacă nu pot descrie o pagină pe un şerveţel ca „acest utilizator primeşte aceste date în acest timp” — încă nu înţeleg ce fac.
Deploy-ul e o funcţionalitate de produs
În primele săptămâni un deploy dura două ore: build, push, rsync, restart manual, verificare, rollback dacă se strica ceva. O lună mai târziu am pus Coolify pe un VPS self-managed, am conectat GitHub Actions → Docker → Coolify, şi ciclul a scăzut la cinci minute.
Sună banal, dar ideea e: deploy-ul nu e rutină tehnică, e o feature de produs. Dacă livrez în cinci minute în loc de două ore, sunt de douăzeci şi patru de ori mai dispus să împing o corecţie mică. Bucla de feedback cu utilizatorul real se scurtează de douăzeci şi patru de ori. Asta înseamnă altă calitate a deciziilor, nu doar altă viteză.
Lecţia a trecut în GChat ca default din prima zi: CI → Docker → Coolify, buton verde de „deploy” din start. Fără „o să configurăm mai târziu”.
+40% trafic organic nu din minune, ci din disciplină
Partea de marketing de la DomikSmart — site-ul public pentru căutare de apartamente — a crescut cu 40% la trafic organic într-un an. Fără SEO magic, fără investiţie în bloguri. Trei lucruri:
- Randare pe server cu meta-taguri reale. Nu „SSR în teorie”, ci Next.js cu hidratare completă, imagini OG corecte, date structurate pentru fiecare card de proprietate.
- Viteza primului byte. Edge cache + Redis pentru static + invalidări inteligente la update de preţ. TTFB < 120 ms din nodurile de la Moscova.
- Zero popup-uri, zero banner de cookies, zero „aboneaza-te”, zero scripturi de publicitate terţe. Utilizatorul deschide pagina — şi vede imediat apartamentul.
Concluzie scurtă: SEO bun înseamnă doar să fii un site bun.
Unde am greşit şi am plătit scump
Ca să nu sune „totul mi-a ieşit perfect”: am pierdut trei săptămâni pe o migrare între versiuni de Prisma sub PostgreSQL cu nested transactions. Am crezut — „actualizăm cu grijă”. Am primit — race-condition-uri ascunse pe rezervările de producţie, când doi manageri mutau simultan acelaşi calendar.
Lecţie: actualizările de dependenţe sunt incidente de producţie în aşteptare. Mai ales cele care ating logica tranzacţională. Pe GChat deja ţin un DEPENDENCIES.md cu politică explicită: fiecare update de librărie criptografică e un PR separat, cu load-test separat, cu o săptămână separată de stabilizare.
Ce iau cu mine
- Un singur stack, o singură infrastructură, un singur limbaj de deploy. În cazul meu — Docker + Coolify + Traefik. Restul sunt straturi proprietare uşor de evitat.
- SSR ca default, client-side ca excepţie. Cât timp o pagină poate fi server-rendered — este.
- Disciplină cu dependenţele. Orice update e o decizie conştientă, nu
npm update. - Timpul de deploy ca metrică UX. Cinci minute — bine. Douăzeci de secunde — mai bine. O oră — ăsta e tech debt.
Un an solo pe un produs nu e despre „supravieţuire”. E despre cum devii acel om care ştie unde scârţâie podeaua, pentru că tot el a bătut cuiele. E o stare rară. Şi merită anul.