← Înapoi la blog

Un an la DomikSmart: cum mi s-a schimbat felul în care văd SaaS-ul

Din martie 2025 până în martie 2026 am dus un CRM pentru închirieri scurte — 50 de proprietăţi, calendare, messenger-e, un site public. Ce iau cu mine în GChat şi în orice produs de acum încolo.

  • domiksmart
  • saas
  • devops

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:

  1. 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.
  2. Viteza primului byte. Edge cache + Redis pentru static + invalidări inteligente la update de preţ. TTFB < 120 ms din nodurile de la Moscova.
  3. 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.