Produsul nostru propriu pentru invitații digitale — construit și operat integral de noi.
Prezentare generală
Invuna este produsul nostru, de la strategie la mentenanță. Design, cod, infrastructură — răspundem atât de dezvoltare, cât și de operarea și evoluția lui după lansare. Utilizatorul descrie un eveniment cu cuvintele lui; produsul scrie textul, generează grafica, asamblează invitația și o trimite pe WhatsApp, Telegram, Instagram Story, Facebook, email sau link direct. Autentificare, plăți, rutare multilingvă, panou RSVP — totul construit de noi. Live la invuna.com.
Nu e un proiect pentru un client. Aici deciziile, costurile și consecințele sunt ale noastre.
Produsul, pe scurt
- 3
- Limbi active
- 6
- Canale de distribuire
- 2
- Modele AI în flux
- 1
- Plată unică, fără abonament
Provocarea
Instrumentele pentru invitații pornesc aproape toate din același loc: alegi un șablon, decupezi o poză, completezi treizeci de câmpuri și speri că rezultatul nu arată ca un eCard din 2015. Șabloanele sunt generice, sistemele de design sunt rigide, iar textul invitației — conținutul propriu-zis — rămâne integral în seama utilizatorului. Munca grea se întoarce la om exact acolo unde ar avea nevoie de ajutor.
Am vrut să vedem ce iese când software-ul preia partea pe care utilizatorul o face cel mai greu. Tu descrii evenimentul; de cuvinte, grafică, distribuire și răspunsuri ne ocupăm noi. Utilizatorul povestește momentul — nu se transformă în grafician amator la 11 noaptea, în ajunul unui botez.
01 · Un singur câmp

Ca să ducem asta cap-coadă, a trebuit să construim o aplicație completă, nu o pagină de prezentare cu formular de înscriere. Autentificare. Plăți. Fluxuri AI pentru text și imagine. Sistem RSVP cu evidența invitaților. Calendar care ține cont de fusuri orare. Rutare multilingvă. Analiză de utilizare. Pagini juridice. Tot ce îi trebuie unui produs pentru publicul larg.
Abordarea
Am ales tehnologiile după ce cere produsul, nu după ce e la modă.
Fără WordPress. Nu era alegerea potrivită pentru un flux interactiv, cu generare, conturi, plăți și mai multe stări ale aceluiași eveniment.
Fără framework React. Produsul se adresează publicului larg, trebuie să se încarce repede pe telefon și nu avea nevoie de abstracțiile din Next.js pentru fluxul lui de bază. Am păstrat interfața ușoară, ca să rămână rapidă pe conexiuni mobile.
Vanilla JavaScript pe frontend, Express pe server, DigitalOcean App Platform pentru găzduire, Cloudflare pentru DNS și protecție la marginea rețelei, Bunny CDN pentru video. Autentificare proprie, cu email și sesiune. Rutare multilingvă proprie. Fiecare dependență e acolo pentru că am ales-o noi, nu pentru că venea la pachet cu un framework.

Pentru partea de AI am construit un flux care extrage date structurate din text liber, le validează, le îmbogățește și le trimite mai departe către două etape separate de generare: una pentru text, una pentru grafică. La final iese o invitație completă, cu text și grafică asortate.
La plăți folosim Stripe, cu un flux gândit pentru felul în care oamenii cumpără de fapt software de invitații: fără abonament recurent. Plătești când ai nevoie, folosești creditele, revii data viitoare.
La RSVP, gazda are un panou live: confirmări, refuzuri, răspunsuri în așteptare, însoțitori, restricții alimentare, întrebări proprii dacă e cazul. La calendar, o evidență a evenimentelor în produs, cu numărătoare inversă și notificări. La limbi, un router propriu care servește româna, engleza și italiana din prima zi — parte din navigație de la bun început, nu ceva adăugat ulterior.
Totul construit intern. Totul întreținut de noi.
Soluția
Produsul de bază
- Parser de limbaj natural pentru evenimente — preia o descriere liberă („botez pentru nepoata mea, 20 aprilie, ora 11, ortodox la Sf. Nicolae, masă la bunica după”) și extrage câmpurile structurate: tipul evenimentului, data, ora, locația, gazda, ținuta, preferințele de cadouri.
- Generare de text cu AI — scrie textul invitației pe tonul potrivit (formal, relaxat, jucăuș, elegant), în funcție de eveniment, la aceeași calitate în toate cele trei limbi disponibile.
- Generare de imagine cu AI — creează grafica, în ton cu atmosfera evenimentului și cu textul. Nu șabloane de stoc — grafică generată pentru datele și preferințele evenimentului.
- Constructor de invitații — pune cap la cap textul și grafica generate într-o invitație gata de trimis: tipografie curată, așezare automată în pagină, calitate bună și pentru tipar, și pentru ecran.
- Distribuire pe canalele principale — opțiuni native de distribuire către WhatsApp, Facebook, Instagram Story, Telegram și email, plus link direct, copiat automat atunci când distribuirea nativă nu e disponibilă pe dispozitiv.
- Sistem RSVP — invitații răspund printr-un link dedicat, iar gazda vede totul într-un panou live.
- Calendar de evenimente — gazdele își văd toate evenimentele viitoare, cu numărătoare inversă, status dintr-o privire și acces rapid la distribuire.
- Autentificare — cont în care îți gestionezi evenimentele, salvezi versiuni de lucru și urmărești răspunsurile în timp.
02 · Panoul RSVP

Infrastructura produsului
- Plăți prin Stripe — facturare pe credite. Cumperi credite, le folosești pentru generare și trimitere, reîncarci când ai nevoie. Fără abonament, fără debitări automate. Metodele afișate la plată sunt cele eligibile pentru piața și moneda fiecărui client.
- Rutare multilingvă — română, engleză, italiană. Detectarea limbii direct din URL,
language-loader.jsșilanguage-router.jsscrise de noi, semnalehreflangcorecte pentru SEO. - Schema.org JSON-LD — markup
SoftwareApplication, prin care motoarele de căutare înțeleg ce este produsul. - Livrare de conținut optimizată — filme încărcate doar la click, prin Bunny CDN, fonturi găzduite local, JavaScript puțin, încărcare amânată.
- Conformitate legală — politică de confidențialitate, termeni și condiții, politică de rambursare, flux de consimțământ conform GDPR.
Momente-cheie
Un singur câmp
Cel mai greu de nimerit n-a fost AI-ul — a fost câmpul de pornire. Mai toți competitorii deschid cu o galerie de șabloane și un formular cu treizeci de câmpuri. Noi deschidem cu o singură casetă. Scrii evenimentul, iar formularul din spate se generează dinamic, în funcție de ce s-a extras.

Două treceri de AI, o singură invitație
Majoritatea produselor care folosesc AI pentru invitații lipesc un generator de text peste o bibliotecă de șabloane de stoc. Noi am despărțit textul de imagine: două modele separate, cu același context de eveniment, ca textul și grafica să meargă în aceeași direcție. Un botez formal primește serif și o paletă blândă. O aniversare cu cocktailuri primește un sans bold și un accent saturat. Invitația se compune în jurul amândurora.
Fără abonament forțat
Modelul pe credite a fost decizia care a contat cel mai mult. Mai toți competitorii vor un abonament de 9,99 $/lună. Noi ne-am uitat cum folosesc oamenii produsul și am văzut că puțini își doresc un abonament pentru un singur eveniment. Au nevoie de produs la o nuntă, peste doi ani la un botez, apoi la o zi de naștere. Așa că exact așa am facturat: plată unică prin Stripe, credite în cont, reîncarci când ai ceva de trimis.
Tehnologii
Frontend Vanilla JavaScript (fără framework)
Font display propriu „Calimate” 900
Italice Source Serif 4
Arhitectură modulară de componente
Server Express (Node.js)
Autentificare Flux propriu — email + sesiune
Plăți Stripe — pe credite, fără abonament
AI text Parsare de limbaj natural → text contextual
AI imagine Flux vizual, grafică în ton cu evenimentul
RSVP Gestiune proprie a invitaților — însoțitori, restricții, întrebări
Calendar Evidența evenimentelor în produs, cu numărătoare inversă
Găzduire DigitalOcean App Platform
CDN / Securitate Cloudflare
Livrare video Bunny CDN
Date structurate JSON-LD SoftwareApplication
Limbi Română, engleză, italiană
Rezultatul
Live la invuna.com. Oameni reali fac invitații pentru evenimente reale — nunți, botezuri, zile de naștere, absolviri, lansări corporate — în trei limbi, plătesc prin Stripe, își urmăresc răspunsurile și trimit invitațiile pe canalele pe care le folosesc invitații lor.
Întreținem produsul zi de zi: adăugăm funcționalități, reparăm bugurile pe măsură ce apar și ajustăm partea de generare AI în funcție de ce ne cer utilizatorii.
Dacă restul portofoliului arată cum construim pentru clienți, Invuna arată cum construim pentru noi. Aceleași standarde, aceeași grijă. Diferența e că aici răspundem și de deciziile de după lansare.


