Proiecte/Termkont
Termkont
Vânzare de containere maritime pentru o firmă din Sankt Petersburg. Un catalog virtualizat, un flux de cereri care trimite solicitările într-un inbox real și un panou de administrare în spate.
- ROL
- Dezvoltare
- AN
- 2025
- PLATFORMĂ
- Web
- STARE
- Online la termkont.ru

Câteva sute de anunțuri, filtrate pe loc
02 / 07
Screen 2 of 7: Câteva sute de anunțuri, filtrate pe loc
Site-ul trebuia construit la vedere și lansat deliberat: vizibil pentru client, invizibil pentru motoarele de căutare, până în ziua în care n-a mai fost.
Termkont vinde containere maritime: câteva sute de anunțuri, un flux de cereri care trimite solicitările pe email cu anunțul atașat și un panou de administrare cu o lună de date de trend. Totul în rusă, pentru o piață în care Yandex contează mai mult decât Google.
Designul interfeței e al lui Artur Moldovanu. Eu am construit frontendul, modelul de date din Firestore, funcțiile din spatele fluxului de cereri, panoul de administrare și deployment-ul.
Două constrângeri au modelat totul: clientul trebuia să vadă progresul pe un URL live fără ca motoarele de căutare să-l găsească, iar utilizatorii reali erau pe conexiuni destul de lente încât un stylesheet care nu ajunge să fie un mod de eșec adevărat, nu unul teoretic.
Online la termkont.ru și predat în întregime, așa că îl administrează clientul fără mine. Designul interfeței e al lui Artur Moldovanu.
- STARE
- Online la termkont.ru
- PLATFORMĂ
- Web
- PREDARE
- Completă
Trei ecrane îl duc.Un singur dispozitiv, trei stări.

STAREA 01 / 03
Catalogul
Câteva sute de anunțuri, cu filtre care trebuie să rămână rapide pe o conexiune lentă. Rânduri virtualizate, imagini dimensionate pe fiecare breakpoint și niciun index de căutare descărcat în browser înainte să se afișeze ceva.

STAREA 02 / 03
Cererea
Nimeni nu cumpără un container dintr-un checkout. Fiecare anunț se termină într-o cerere, care e validată, limitată ca rată și trimisă într-un inbox real, cu anunțul atașat, ca răspunsul să poată fi concret.

STAREA 03 / 03
Panoul
Clientul avea nevoie să vadă ce intră fără să mă întrebe pe mine. Cereri, stare și o lună de date de trend, în rusă, în spatele aceleiași autentificări ca restul site-ului.
Două decizii care merită explicate.Părțile care au durat cel mai mult.
D—01
Două motoare de căutare, un singur comutator
Yandex e motorul care contează aici și nu citește un site la fel ca Google. Asta a însemnat date structurate în ambele dialecte, semnale geografice explicite pentru Sankt Petersburg și un sitemap care spune adevărul despre ce e efectiv online.
Trebuia și să poată fi construit în public. Indexabilitatea e un singur flag setat la deploy. Directivele pentru roboți, tagurile canonice și sitemapul îl citesc toate, așa că staging-ul e invizibil, iar lansarea e o variabilă de mediu, nu o listă pe care o uită cineva.
// one flag, read everywhereexport const INDEXABLE = process.env.PUBLIC_INDEX === 'true' robots: INDEXABLE ? 'all' : 'noindex'sitemap: INDEXABLE ? routes : []canonical: INDEXABLE ? SITE_URL : undefined geo: { region: 'RU-SPE' }D—02
Când stylesheet-ul nu ajunge niciodată
Utilizatori reali, pe conexiuni lente, vedeau o pagină fără stiluri. Nu o pagină lentă, ci una fără stiluri, pentru că cererea pentru stylesheet eșuase de tot și dedesubt nu era nimic.
Așa că un bloc critic mic pleacă inline în head-ul documentului: layout, scara tipografică și destulă culoare cât pagina să fie lizibilă și navigabilă pe cont propriu. Dacă ajunge stylesheet-ul complet, preia el. Dacă nu ajunge niciodată, site-ul tot funcționează.
/* inline, in <head>, ~1.4kb */:root{--ink:#101725;--acc:#3B6BD4}body{font:16px/1.5 system-ui;color:var(--ink)}.grid{display:grid;gap:12px} /* full sheet takes over when it lands *//* if it never does, this still reads */PE CE E CONSTRUIT
- FRONTEND
- Next.js 15 · React 19 · Tailwind 4 · TypeScript strict
- BACKEND
- Firebase: Firestore, Cloud Storage, Cloud Functions
- CALITATE
- Playwright end-to-end · bugete Lighthouse în CI
- LIVRARE
- Vercel · Yandex Webmaster · Google Search Console
CREDITE
Designul interfeței: Artur Moldovanu. Frontendul, modelul de date, fluxul de cereri, panoul de administrare și deployment-ul sunt ale mele.
STARE
Online la termkont.ru. Predat în întregime.
PROIECTUL URMĂTOR
Liquid Glass
O bibliotecă privată de componente React Native. Sticla nativă Apple pe iOS 26 și o alternativă fidelă peste tot altundeva, împreună cu componentele de la care pornesc proiectele clienților.
Spune-mi ce construiești.Un plan scris și un preț fix înainte să se miște vreun ban.
Răspund la tot într-o zi lucrătoare. Dacă nu sunt omul potrivit pentru proiect, ți-o spun din start, nu după trei săptămâni.




