← Înapoi la HUMANIA
Istoric versiuni
Toate modificările, cea mai recentă prima.
v0.13.0 curent2026-08-12
Deck-ul: răspunsul ca teanc de carduri, de la „câte sunt” până la „cui suni”
- `/m2/cauta` arată rezultatul ca teanc de carduri, în ordinea în care se îngustează întrebarea: **ce am găsit → pe hartă → cerere și ofertă → cum arată → carte de vizită**. Fiecare card rămâne cu titlul lipit sus, sub titlurile celor de deasupra, deci scara de titluri e chiar drumul parcurs — se vede unde ești, de unde ai pornit, și fiecare treaptă e drumul înapoi.
- Mecanica e `position: sticky` și trei rânduri de CSS, **zero JavaScript**: pe telefon derularea rămâne a degetului. Fiecare card are ancora lui (`#brut`, `#harta`, `#piata`, `#vitrine`, `#carte`) — un strat care nu se poate da mai departe pe WhatsApp nu e un strat, e o animație.
- Fiecare titlu poartă culoarea a ceea ce răspunde, din cele patru culori de ramură deja verificate pe contrast și daltonism: albastru registrul, verde harta, roz piața, chihlimbar vitrina. Nu e decor — din scara de titluri se citește dintr-o privire pe ce strat ești, fără să citești cuvintele.
- **Teancul se compune după ce s-a găsit, nu e o secvență fixă.** Harta intră doar dacă are puncte, piața doar dacă are anunțuri, raftul de vitrine doar dacă cineva chiar a pus poze. Un CUI căutat direct primește două carduri, nu cinci: întrebarea avea deja un singur răspuns, iar un card „ce am găsit” cu un rând, o hartă cu un punct și un raft cu o vitrină ar fi același lucru spus de trei ori.
- Harta din card e desenată în pagină, nu adusă de la un furnizor de dale: cardul trebuie să fie ACOLO când ajungi la el, iar o bibliotecă de hărți plus dalele ei sunt sute de kilobiți și un server străin care află cine ne vizitează. Bulele sunt tappabile — apeși un loc și cobori în el. Harta cu zoom și străzi rămâne la o atingere, pe `/harta`, cu aceleași filtre.
- Firmele care au pus ceva despre ele apar **primele**, iar cardul scrie pe față că le-a pus primele. O ordine care nu e neutră și pretinde că e, e o minciună mică ce se plătește o singură dată, dar definitiv.
- Cardul de piață arată și ce cer sau oferă **chiar firmele găsite** — „restaurantele astea caută legume, carne și pâine” e răspunsul pe care o listă de firme nu-l poate da: acolo se vede lanțul, nu doar cine e în el.
- Cartea de vizită NU arată telefonul, și nu din uitare: nici registrul, nici vitrina nu-l scot în vreun răspuns public, ca platforma să nu devină o listă de numere de recoltat. Are în schimb adresa, programul, anul, oamenii, site-ul, produsele cu preț și cererea de ofertă pe platformă, unde contactul tău îl vede doar firma.
- `cmd/seed -scenariu horeca-cluj` — un caz de folosire ÎNTREG, nu mostre risipite prin țară: 6 restaurante din Cluj-Napoca cu meniu, prețuri, program și poze, 4 furnizori în jurul orașului (legume la Apahida, carne la Sânnicoara, lactate la Florești, pâine în oraș), cererile restaurantelor și ofertele furnizorilor în piață, mesaje în casetă. Firmele sunt reale, luate din registru pe localitate și cod CAEN; tot ce scriem noi poartă marcajul „[probă]” și se șterge cu `-sterge`.
- Unul dintre cele zece roluri n-a găsit firmă în localitatea aleasă (abator în Apahida) — seed-ul o spune în log, iar rolul s-a mutat unde chiar sunt abatoarele, la Sânnicoara. Un scenariu care tace despre ce n-a găsit te pune să cauți degeaba pe ecran.
- Un restaurant din scenariu e anume lăsat pe jumătate: fără descriere, fără poze, fără program. În orice oraș există și firme care n-au completat nimic, iar golul trebuie să se vadă ca gol, nu să fie ascuns de un set de probă prea frumos.
- **Reparat înainte de livrare, găsit prin măsurare:** teancul costa 4,4 secunde. Cauza nu era o interogare grea, ci direcția ei — „firmele cu vitrină, în ordinea denumirii, primele patru” trimitea planificatorul pe indexul de denumire, adică prin toată țara, ca să găsească patru rânduri. Întoarsă pe dos, pornind din tabelul mic: **108 ms la rece, 12 ms memorat**.
- Reparat tot la testare: cu o localitate aleasă scria „926 de firme în Cluj-Napoca” — cifra era pe județ. O cifră adevărată pusă lângă un loc greșit e o minciună.
v0.12.0 2026-08-12
M2 — a doua poartă de intrare, pentru cine e în oraș cu telefonul în mână
- `/m2` e o rută NOUĂ, care nu înlocuiește nimic: `/`, `/companies`, `/harta` și `/piata` rămân exact cum erau, cu aceleași adrese și același comportament. Prima pagină e bună pe calculator, pentru cine intră întâia oară și vrea să afle ce e locul ăsta. M2 e pentru cealaltă situație, care e de fapt cea obișnuită: ești în oraș, îți trebuie ceva acum, și nu vrei să citești nimic.
- Un singur lucru pe ecran: întrebarea. Titlu mare, bară de căutare de 20 px — sub 16 px iOS dă zoom la focus și aruncă tot ecranul într-o parte — și, lipit de ea, locul. Fără cele cinci secțiuni numerotate, fără cifrele de credibilitate: cine e aici a deschis aplicația a doua oară, deci nu mai are nevoie să fie convins.
- **Locul vine gata pus.** Județul se deduce din adresa IP, ca fundalul primei pagini, deci una dintre cele două jumătăți ale întrebării e deja răspunsă înainte să scrii ceva. Rămâne de scris doar *ce* cauți. Alegerea proprie bate ghicitul și se ține minte în telefon, iar un `?judet=` din URL le bate pe amândouă.
- „Sunt aici” — un buton, în alegătorul de loc, care cere poziția telefonului DOAR la apăsare, o transformă pe loc în localitatea cea mai apropiată din gazetteer (14.488 localități, cu longitudinea corectată la latitudinea României) și n-o scrie nicăieri. Restul aplicației continuă să nu ceară nimic: un fundal nu merită o întrebare, dar „nu-ți mai căuta singur orașul într-o listă de paisprezece mii” merită.
- **Numerele se văd înainte de a naviga.** În timp ce scrii, sub bară apare câte firme sunt în toată țara, câte în locul ales, și primele opt județe ca butoane cu cifra lor — deci alegerea orașului se face din ecranul de căutare, cu degetul, nu după ce ai aterizat într-o listă și ai căutat filtrul. Asta a fost jumătatea scumpă a drumului pe telefon: „kickbox” dă 3 firme în țară, 0 în București, și se vede din prima că sunt în Arad, Dâmbovița și Sibiu.
- Când e ales un județ, butoanele coboară singure la localitățile din el: cine a ajuns la nivelul județului vrea mai departe, nu de la capăt.
- Numărul de sus și cifrele de pe butoane vin din aceeași interogare — suma grupării pe județe, nu o numărătoare separată. Prima variantă lua totalul dintr-un `count` plafonat la 1.000 și scria pe ecran „peste 1.000 în toată țara” fix deasupra unui buton pe care scria „București 2.752”. Prins la testare, nu în producție.
- Douăsprezece porți scurte — restaurante, cafenele, cazare, sport, frizerii, service auto, construcții, instalații, transport, farmacii, alimentare, software — fiecare un cod CAEN real, nu o categorie inventată de noi. Duc în același set de firme ca filtrul de activitate, doar că nimeni nu trebuie să știe că restaurantele se cheamă 5610. Toate poartă cu ele locul ales.
- Trei API-uri noi, folosite doar de M2 și de oricine altcineva vrea: `/api/unde` (câte și în ce județe, pentru orice căutare), `/api/locuri` (județe și localități, pentru alegător) și `/api/aproape` (coordonată → localitate). Niciunul nu schimbă ceva existent.
- Fundal desenat, nu fotografiat, ca peste tot: silueta orașului dedus, cu trei pete de culoare care se mișcă încet — și stau pe loc dacă sistemul cere mișcare redusă. Zero fișiere, zero cereri către alt server, 28 KB toată pagina.
- Prima cerere după pornire costa 1,63 s: gruparea pe cele 42 de județe peste 1,77M de rânduri, care se memorează — deci nu o interogare lentă, ci una care se face o dată. Se face acum la pornire, într-o goroutine. Măsurat după: **2,3 ms**.
v0.11.0 2026-08-09
Un set de date de probă, ca fiecare ecran să se vadă și plin, nu doar gol
- `cmd/seed` umple vitrina și piața cu 12 firme de probă: profiluri complete, pe jumătate și goale, 57 de produse și servicii, logo-uri și coperți, 12 anunțuri de cerere și ofertă, mesaje în casetă. Până acum fiecare ecran se putea vedea doar în starea lui goală, iar colțurile în care se strică aranjarea nu apăreau niciodată ca să fie prinse.
- Colțurile sunt alese anume, nu la întâmplare: firma care a completat tot lângă cea care n-a completat nimic, denumire de 60 de caractere cu diacritice, descriere de zece rânduri, produs fără preț, produs fără stoc, anunț închis, anunț fără cantitate, județ mic lângă București — plus toate cele cinci ramuri economice, ca paleta să fie văzută întreagă.
- Firmele sunt reale, luate din registru pe județ și pe activitate. Un CUI inventat ar fi arătat bine pe ecran și ar fi mințit la primul click.
- Imaginile sunt PNG-uri adevărate, generate de seed: verificarea de la încărcare se uită la conținut, nu la nume, deci un fișier fals ar fi trecut de seed și ar fi căzut în aplicație.
- Nimic nu se amestecă cu datele reale: fiecare rând poartă marcajul „[probă]”, o rulare nouă îl șterge întâi pe cel vechi, iar `-sterge` curăță tot. Registrul nu e atins niciodată — el vine din ONRC.
v0.10.0 2026-08-09
Piața caută pe două benzi, și orașul din fundal se recunoaște singur
- Piața caută acum pe două benzi, cu bifă pentru fiecare, și nu le amestecă niciodată: „găsite după text” sunt anunțurile care conțin chiar cuvintele tastate; „găsite prin interpretare” sunt cele despre același lucru, scrise altfel. Fiecare rezultat trebuie să poată spune de ce e acolo, iar „a apărut fiindcă am înțeles că vrei altceva” e o explicație pe care omul are dreptul s-o vadă și s-o refuze.
- Ce s-a înțeles se scrie deasupra rezultatelor: „am înțeles «carton» ca fiind Fabricarea hârtiei și cartonului · CAEN 1721”, cu sursa fiecărei interpretări și cu invitația de a o corecta din filtru. O interpretare pe care n-o poți vedea e o interpretare pe care ești obligat s-o crezi.
- Interpretarea de azi e taxonomia CAEN plus lexiconul de 1.653 de termeni extras din denumirile firmelor — deterministă, explicabilă rând cu rând. Nu e un model de limbaj, iar pagina n-o numește altfel decât e. Stratul cu model intră în spatele aceleiași interfețe când capabilitatea `llm` e publicată de un furnizor; până atunci nu se anunță ce nu există.
- Fundalul primei pagini își recunoaște singur orașul, din adresa IP: cine intră din Cluj vede turnul Sfântului Mihail, din Timișoara catedrala, din Ploiești sondele. Tabelul e în binar, deci **nicio adresă nu pleacă spre vreun serviciu de geolocalizare**, nu se scrie nicăieri și nu se ține minte — se citește din antet, alege un desen, și se uită. Se răspunde la o singură întrebare, care județ, nu la unde stai.
- Sursa: DB-IP IP-to-City Lite (CC BY 4.0), redusă la România și la județ — 12.267 de intervale, 358 KB. Atribuirea e în subsol, cum cere licența. Fără fișier, prima pagină arată harta țării; nu e o dependență de care atârnă ceva.
- Județul scris în URL bate întotdeauna ghicitul din IP, iar de pe orice pagină filtrată județul călătorește mai departe către prima pagină.
v0.9.0 2026-08-09
Orașul tău în spatele căutării, și cardul spune ce se știe despre firmă
- Prima pagină poartă silueta orașului din care vine întrebarea: Casa Poporului pentru București, turnul Sfântului Mihail pentru Cluj, catedrala pentru Timișoara, farul pentru Constanța, Palatul Culturii pentru Iași, Biserica Neagră pentru Brașov, Castelul Corvinilor pentru Hunedoara, macaralele pentru Galați — șaptesprezece județe cu semnul lor, restul cu un oraș desenat de noi, care nu pretinde că e vreun loc anume.
- Orașul se deduce din județul aflat deja în întrebare, nu din geolocalizarea browserului: un fundal nu e motiv să ceri cuiva voie să-i afli poziția. Județul călătorește cu tine spre prima pagină din listă și de pe pagina unei firme; fără el, rămâne harta țării desenată din date. Sub fundal scrie ce oraș e, cu drum înapoi la toată țara.
- Cardul de firmă spune acum și ce se știe dincolo de registru: anul înființării, numărul de angajați, programul de lucru și site-ul, ca domeniu, nu ca adresă întreagă. Se arată doar ce există — fără site, fără program, fără angajați nu rămâne niciun loc gol, ca golul de la logo să însemne în continuare ceva.
- Anul înființării nu-l declară nimeni: se citește din numărul de registrul comerțului, care îl poartă în ambele forme („J40/767/2017” și „J2007000704093”). Acoperă 99,958% din registru. Ce scrie firma despre ea are întâietate, fiindcă o activitate poate fi mai veche decât societatea care o poartă azi.
- Logo-ul încărcat în vitrină ia locul inițialelor — doar dacă există. Fără logo, rămân inițialele: nicio a treia stare și nicio siglă generică pusă de noi.
- Toate acestea vin într-o singură interogare pentru toată pagina de rezultate, nu una per card. Costul măsurat al listei a rămas la 11 milisecunde.
v0.8.0 2026-08-09
Harta poartă desenul activității filtrate: televizor, ciocan, bidon de lapte
- Când filtrul spune ce fac firmele, punctele de pe hartă poartă desenul acelei activități: televizor pe difuzarea TV, microfon pe radio, bidon pe lactate, ou pe creșterea păsărilor, ciocan pe construcții. Harta se citește dintr-o privire, fără să cauți în legendă.
- Desenul nu e ales dintr-o listă scrisă pe cazuri — 1.633 de coduri CAEN nu pot avea fiecare desenul lor. Se ia cel mai lung prefix al codului care are unul: 6020 înaintea lui 602, 602 înaintea lui 60, iar dacă niciunul n-are, secțiunea. Douăzeci și una de secțiuni plus câteva zeci de coduri care chiar merită un desen acoperă tot ce se filtrează în practică.
- Codul se citește din taxonomie, nu se ghicește după lungime: „62” e și diviziunea de IT, și grupa 062 — gaze naturale. Potrivirea literală câștigă, ca peste tot în aplicație, deci filtrul pe 62 primește desenul de cod, nu de mină.
- **Fără filtru de activitate, bula rămâne bulă.** Un simbol pus peste amestecul de 1,77M de firme ar minți despre ce e acolo, iar o hartă care minte frumos e mai rea decât una plictisitoare.
- Sub 8 firme într-un loc, desenul nu apare: la mărimea aia, douăzeci de televizoare suprapuse nu se mai văd ca televizoare. Rămâne bula, care spune tot ce trebuie.
- Desenul nu e singurul purtător de informație: activitatea rămâne scrisă sub hartă („Simbol: Fabricarea produselor lactate”), pentru cine nu recunoaște desenul. Cifra rămâne pe punct — desenul spune *ce*, cifra spune *câte*.
- Cele peste 50 de desene sunt căi SVG scrise în pagină, în culoarea ramurii economice, luată din chiar variabilele paginii. Zero fișiere, zero cereri în plus, aceeași claritate la orice zoom.
v0.7.4 2026-08-09
Reparat: lista de sugestii era tăiată de fundalul primei pagini
- Pe prima pagină, lista de sugestii dispărea sub cifre. Nu era o problemă de straturi, ci de decupare: învelișul care ține fundalul colorat avea `overflow:hidden`, deci tăia orice cobora din bara de căutare — inclusiv sugestiile. Fundalul se decupează acum într-un strat al lui, iar lista are tot spațiul de sub bară.
v0.7.3 2026-08-09
Imaginea din capul paginii e chiar harta noastră, desenată din date
- În spatele titlului stă acum România, desenată din cele 42 de puncte ale gazetteer-ului nostru, cu aria fiecărei bule proporțională cu numărul de firme din județ. Nu e ilustrație cumpărată: e chiar harta de la /harta, în mic, și se schimbă singură când se schimbă datele.
- Proporția hărții e calculată, nu ochită: la latitudinea României un grad de longitudine e cam 0,695 dintr-unul de latitudine. Fără corecție, țara ieșea întinsă cu 13% pe lățime — o hartă strâmbă e mai rea decât lipsa ei.
- Pictograme desenate în pagină, nu emoji, pe cardurile din „ce oferim”: fiecare poartă culoarea cardului ei. Zero fișiere, zero cereri către alt server, aceeași claritate la orice mărime de ecran.
- Toată imaginea costă zero cereri în plus: harta e memorată o dată la zece minute, iar pagina rămâne la o milisecundă. Nicio poză de descărcat, nicio licență de urmărit, niciun server străin care să afle cine ne vizitează.
v0.7.2 2026-08-09
Nu mai spunem „revendică” — locul firmei tale e aici, te așteptăm
- Mesajul platformei nu se mai construiește în jurul cuvântului „revendică”. În română e un verb de conflict — revendicare imobiliară, revendicări sindicale: ceri ceva de la cineva care îl ține. Spus unui patron despre propria firmă, sună ca și cum noi i-am ține-o și el trebuie să ne-o smulgă. Exact pe dos față de ce vrem.
- În loc: o invitație de apartenență. „Locul firmei tale e deja aici. Te așteptăm.” Acțiunea se numește acum activare — „îți activezi profilul” — pe prima pagină, pe carduri, în piață și pe pagina firmei. Mecanismul nu s-a schimbat: profilul se leagă tot de un reprezentant dovedit cu certificatul constatator.
- Numele din cod și din bază au rămas cum erau. Se schimbă ce citește omul, nu ce citește compilatorul — o redenumire în cod n-ar fi adus nimic vizibil nimănui.
- Culoare pe prima pagină, care era prea albă: cele patru culori de ramură economică, deja verificate pe contrast și pe daltonism în ambele teme, duc acum secțiunile, cifrele și cardurile. Fiecare cifră poartă culoarea locului în care duce — albastru registrul, verde harta, chihlimbar vitrina, roz piața. Nicio paletă nouă inventată pentru o singură pagină.
v0.7.1 2026-08-09
Prima pagină spune structurat ce oferim, și câte cereri și oferte sunt acum
- Prezentarea e pe prima pagină, în cinci secțiuni numerotate, ca să se citească de sus în jos fără să ghicești unde ești: ce e HUMANIA · ce oferim azi · ce urmează · pentru cine · cum începi.
- „Ce oferim” și „ce urmează” sunt două liste separate, nu una singură amestecată. Ce e livrat e link și funcționează pe datele reale; ce e în lucru e scris cu chenar punctat și cu eticheta „în lucru”. O primă pagină care amestecă ce merge cu ce am vrea să meargă e o pagină în care nu se mai crede nimic.
- Cifrele arată acum și cererile active, și ofertele active, separat — nu doar totalul anunțurilor. Cine intră vrea să știe dacă piața are cerere sau ofertă, nu câte rânduri are tabelul.
- Fiecare cifră duce direct în lista ei: cererile în piață filtrată pe cereri, ofertele pe oferte.
v0.7.0 2026-08-09
Prima pagină: ce e HUMANIA, în cifre — și filtrele cu ieșire pe mobil
- `/` nu mai e lista de firme. Cine intra prima oară nimerea direct într-un rezultat de căutare, fără să afle ce e locul ăsta; acum găsește promisiunea, bara de căutare cu sugestii, cifrele și meniul către tot restul. Lista are ruta ei, /companies, iar căutarea de pe prima pagină duce în ea cu filtrul exact din spatele sugestiei, nu cu textul tastat.
- Cifrele sunt numărate pe server și scrise în HTML, nu aduse prin JavaScript după încărcare: se văd și fără JS, se indexează, și sunt acolo în prima secundă — adică exact când se decide dacă locul pare serios. Fiecare cifră e link către locul ei; o cifră care nu duce nicăieri e decor.
- Nimic nu se rotunjește în sus. Azi scrie 1.772.134 de firme și 1 profil revendicat, pentru că atât e. O platformă care își umflă numerele la început nu mai e crezută când sunt mari.
- Prima pagină costă sub o milisecundă: numărătorile din registru (1,77M de rânduri) se memorează, fiindcă nu se schimbă între ingestii, iar cele vii — profiluri, produse, anunțuri — se citesc de fiecare dată, ca o firmă care tocmai a publicat ceva să-l vadă la numărătoare imediat, nu peste zece minute.
- Filtrele pe telefon au ieșire la vedere: ✕ lipit sus, „vezi N firme” lipit jos, fundal întunecat care se atinge, Escape la tastatură. Până acum butonul de închidere stătea la capătul unei liste de 42 de județe, iar butonul „înapoi” al telefonului nu se pune la socoteală — pe unele nu există, iar unde există e al browserului, nu al paginii. Gestul de back, unde există, închide sertarul în loc să scoată omul din pagină.
- Meniul nu mai dispare sub 640 de pixeli: se derulează pe orizontală. O pagină fără navigație pe ecran mic e o pagină din care nu se poate ieși decât cu butonul înapoi.
- Ținte de atins cu degetul în sertarul de filtre: opțiuni, litere și comutatoare crescute la 34–40 de pixeli.
v0.6.0 2026-08-09
Vitrina firmei: produse, servicii, poze, filme și o casetă de mesaje
- Pagina firmei (/firma/CUI) nu mai e o fișă din registru, ci o vitrină: copertă, logo, prezentare, produse și servicii cu preț și disponibilitate, galerie de poze și filme, plus anunțurile firmei din piață. Ce nu a completat firma rămâne gol și se vede că e gol — golul e invitația, nu o eroare.
- Fiecare produs poate purta un cod CAEN, deci intră în aceleași filtre ca firmele și ca anunțurile din piață. Fără el, căutarea de produse ar fi fost a treia taxonomie care nu se întâlnește cu primele două.
- Zonă de administrare pe același link: „e firma mea” dă o cheie privată, o singură dată, iar a doua cerere pentru aceeași firmă e refuzată — altfel oricine ar putea deposeda administratorul cerând încă o cheie. Până la revendicarea cu certificat constatator, profilul rămâne marcat „nerevendicat”.
- Fișierele se verifică după CONȚINUT, nu după nume: un HTML redenumit în .png e refuzat, numele de pe disc e generat de noi, iar tipul cu care se servește înapoi e cel detectat la încărcare. Limite: 8 MB o imagine, 96 MB un film, 60 de fișiere și 400 MB per firmă.
- Buton „cere ofertă” pe pagină și pe fiecare produs. Mesajul ajunge într-o casetă pe platformă, pe care firma o citește cu cheia ei — nu pe SMTP, ca peste tot în HUMANIA. Contactul expeditorului îl vede doar firma.
- Telefonul rămâne în afara oricărui răspuns public, inclusiv al celui pe care firma îl scrie despre ea însăși.
v0.5.0 2026-08-09
Harta României peste aceleași filtre, și un pin pe fiecare card
- Harta (/harta): aceeași căutare, altă reprezentare. Filtrele, textul căutat și interpretarea lui sunt exact cele din listă, deci „firme de televiziune din Neamţ” arată aceleași firme în grilă și pe hartă. Comutatorul listă ⇄ hartă păstrează filtrele, iar fiecare hartă filtrată are URL-ul ei, de dat mai departe.
- Zoom mic: 42 de bule, una pe județ, cu numărul scris pe ele. Zoom mare sau județ ales: bule pe localitate. Aria cercului e proporțională cu numărul de firme, nu raza — altfel un oraș mare ar face un disc de trei ori cât județul lui.
- Click pe o localitate deschide primele firme de acolo, cu legătură către profil; click pe un județ restrânge întrebarea la el.
- Pin pe fiecare card de firmă: duce harta exact în localitatea ei, cu filtrele curente păstrate.
- Gazetteer propriu: 14.485 din 14.488 de localități ale registrului au primit coordonată — 99,977% din firme. Sursa e baza de localități a INS (domeniu public, în data/), potrivită pe nume în interiorul județului, cu ambele ortografii ale lui î/â, pentru că registrul scrie „Alţîna” unde baza scrie „Alțâna”. Cele trei localități rămase sunt scrise „***localitatea negasita***” chiar în dump-ul ONRC.
- Ce nu e pe hartă se spune sub hartă: firmele fără localitate în registru și cele din locurile tăiate de limita de puncte se numără explicit, în loc să dispară tăcut.
- Furnizorul de dale stă în spatele originii noastre (/api/map/config): azi OpenStreetMap, mâine altul, din variabile de mediu, fără să se atingă pagina — și fără ca vreo cheie de API să ajungă vreodată în browser.
v0.4.0 2026-08-09
Piața: cereri și oferte între firme, potrivite prin registru
- Piața (/piata): o firmă scrie ce caută sau ce oferă, iar anunțul primește răspuns în secunda în care e publicat — „347 de firme fac asta, 12 în județul tău”. Partea de ofertă a pieței există deja în registru, deci nu trebuie să aștepte nimeni pe nimeni.
- Un anunț e clasificat printr-un cod CAEN ales din taxonomie, nu printr-o categorie scrisă de mână. Cinci oameni care scriu „ambalaje”, „Ambalaje” și „cutii carton” ajung în același loc.
- Potrivirile sunt în două liste separate: firme din registru care fac acel lucru (complete, dar nimeni de acolo n-a cerut să fie acolo) și anunțuri de sens opus (puține, dar fiecare e cineva care a ridicat mâna).
- Contactul nu se publică. Un răspuns e un mesaj pe platformă, nu un email — telefonul rămâne dată personală, ca peste tot în HUMANIA.
- Firmele nerevendicate sunt marcate „neverificat” pe card, nu ascunse: până la revendicarea prin certificat constatator, cititorul merită să știe că nimeni n-a dovedit încă nimic.
- Culoarea pe ramură economică: cardul și eticheta de activitate poartă una din patru nuanțe verificate pentru daltonism în ambele teme, plus o pictogramă care duce identitatea fină.
v0.3.0 2026-08-09
Sugestii pe măsură ce scrii, și meseria dedusă din denumire
- Autosuggest: maximum 10 rânduri, amestecând activități, județe, localități și firme, cu navigare pe săgeți. Alegerea unei sugestii aplică filtrul exact din spatele ei, nu textul.
- Lexicon de activități extras din chiar registrul nostru: 1.653 de cuvinte care prezic ce face o firmă din denumirea ei. „spedi” duce la transport rutier, „dental” la stomatologie, deși titlul oficial CAEN nu conține cuvântul căutat.
- Monogramă în locul logo-ului: „01 ADS VERIFICĂRI-REVIZII” apare ca AV, nu ca 0 — se sar cifrele de la început și forma juridică. Se înlocuiește cu logo-ul propriu la revendicarea profilului.
- Județele și localitățile sunt numărate o dată la ingestie, nu la fiecare tastă: sugestiile au coborât de la 1,6 secunde la 52 de milisecunde.
- Enter caută ce ai scris, chiar dacă lista de sugestii e deschisă. Lista e o ofertă, nu o obligație: „TV” + Enter arată cele 376 de firme cu TV în denumire.
v0.2.0 2026-08-09
Căutare universală și filtre peste registru
- O singură bară de căutare care recunoaște denumire, CUI, cod CAEN și număr de registrul comerțului; input ambiguu întoarce interpretările cu numărul de rezultate al fiecăreia.
- Filtre pe județ, localitate, CAEN (cu expandare pe ramură) și literă A–Z, cu contor de rezultate lângă fiecare valoare.
- Pagina de companii: căutare sus, filtre pe stânga, rezultate ca grilă de carduri.
- Telefonul nu apare în niciun răspuns public — se livrează doar prin fluxul la cerere.
- Corectate codurile CAEN cu zero în față: „creşterea păsărilor” (0147) raporta zero firme deşi avea 1.145. Codurile se păstrează acum cu lăţimea lor reală, iar grupa 062 nu se mai confundă cu diviziunea 62.
v0.1.0 2026-08-09
Registrul în Postgres, reconstruit cu comutare atomică
- Ingestie completă a registrului (1.772.134 firme, 1.633 coduri CAEN) în 112 secunde.
- Județ și localitate pentru 99,999% din firme, din al doilea dump — fără parsare de adresă.
- Încărcarea intră într-o schemă de pregătire; comutarea se face într-o singură tranzacție, fără fereastră fără date.