#50 - How I've built transparenta.eu

La ediția aniversară Sibiu Web Meetup #50, Claudiu Bogdan a povestit cum un hackathon a transformat un prototip într-o platformă națională de analiză a execuțiilor bugetare: Transparența.eu.

#50 - How I've built transparenta.eu

De la ideea de hackathon la o platformă cu impact

Claudiu Bogdan, full-stack developer cu opt ani de experiență în React și Node.js, nu și-a propus inițial să construiască un instrument civic. Totul a început la un hackathon organizat de Amplify ONG, unde tema era să ajuți jurnalismul independent prin soluții digitale.

La acel eveniment, Claudiu și echipa sa au ales să se concentreze pe execuțiile bugetare – documente tehnice, pline de cifre, dar care ascund o întrebare esențială: cum se cheltuie banii publici în România?

Două zile mai târziu, din haosul de PDF-uri și XML-uri a apărut un prototip: un tabel de date și o funcționalitate surprinzătoare – posibilitatea de a scrie o întrebare simplă, iar aplicația să o transforme automat în filtre de căutare. „Vreau să văd cheltuielile din Brașov” nu mai era doar o propoziție, ci devenea o interogare concretă asupra datelor.

De ce era nevoie de Transparența.eu

Execuțiile bugetare sunt obligatorii pentru cele peste 13.000 de instituții publice din România: primării, consilii județene, ministere, școli, DSP-uri. În teorie, datele sunt publice și oricine le poate consulta. În practică însă:

  • ANAF le publică sub formă de PDF, XML și Excel.
  • Pagina oficială are mii de rezultate paginate, cu CAPTCHA la fiecare pas.
  • Nu există API oficial, iar filtrele sunt limitate.

Rezultatul? Datele există, dar sunt inaccesibile. Jurnaliștii și ONG-urile precum Funky Citizens se chinuiau cu Exceluri uriașe. Cetățenii curioși erau, practic, excluși din start.

Claudiu a simțit că problema nu era doar tehnică, ci și socială: „Dacă durează ore să verifici o informație, poate că nu o mai verifici deloc. Dacă durează cinci secunde, o faci.”

Cum a prins viață proiectul

După hackathon, Claudiu a făcut o postare pe LinkedIn. Rezultatul? Peste 24.000 de vizualizări și mesaje de la oameni care spuneau că vor să folosească sau să contribuie la proiect.

Așa a început construcția reală. Prima provocare a fost să înțeleagă chiar el ce înseamnă execuțiile bugetare: coduri, capitole, subcapitole, paragrafe. Apoi a început să adauge straturi de context peste date brute: populație, rata inflației, conversii euro-leu.

Fiecare iterație a venit cu noi funcționalități:

  • Pagini dedicate instituțiilor, cu cheltuieli și venituri defalcate.
  • Harta României, colorată după nivelul cheltuielilor per capita.
  • Grafice comparative, care permit să vezi trenduri sau să compari două județe.
  • Export de grafice ca SVG, gata de inclus într-un articol jurnalistic.

Uneori, feedback-ul l-a surprins. De exemplu, datele din București păreau disproporționat de mari, pentru că includeau și ministerele, nu doar primăria. Ajustările fine de acest tip au fost esențiale pentru credibilitate.

Detalii tehnice – din culisele proiectului

Dincolo de povestea civică, Transparența.eu este și un studiu de caz tehnic despre cum să construiești o platformă scalabilă, dar întreținută de un singur dezvoltator.

Frontend

  • React (SPA), găzduit pe Vercel pentru costuri aproape zero.
  • TanStack Query pentru caching și prefetching.
  • State salvat direct în URL pentru share rapid.
  • Recharts pentru grafice, Leaflet + GeoJSON pentru hărți optimizate (de la 200 MB la 1 MB).

Backend

  • Node.js cu Fastify și Mercurius (GraphQL).
  • PostgreSQL pentru date, cu două instanțe (publice vs. utilizatori).
  • Cluster Kubernetes self-hosted, orchestrat cu Argo CD.

CI/CD și securitate

  • GitHub Actions creează imagini Docker.
  • Argo CD face deployment declarativ.
  • Sealed Secrets pentru parole criptate.
  • Clerk pentru autentificare, fără a stoca direct datele utilizatorilor.

AI la lucru

  • Gemini și LLM-uri pentru maparea XML-urilor și definirea schemelor.
  • Custom GPT configurat să interogheze direct API-ul și să genereze rapoarte verificabile.

Impact și relevanță

Transparența.eu nu este doar un site frumos, ci un instrument care schimbă dinamica accesului la informații publice. Pentru jurnaliști, înseamnă mai puțin timp pierdut cu Excel-uri și mai mult timp pentru investigații. Pentru cetățeni, înseamnă posibilitatea de a înțelege mai bine ce face primăria sau consiliul local cu banii lor.

Mai mult, în epoca fake news, viteza contează. O minciună poate fi repetată de mii de ori pe secundă. Singura apărare este posibilitatea de a verifica rapid realitatea.

Concluzie

Prezentarea lui Claudiu Bogdan la Sibiu Web Meetup #50 a fost mai mult decât un talk tehnic. A fost povestea unui proiect pornit dintr-o curiozitate și transformat într-un instrument civic cu adevărat util.

Transparența.eu arată ce se poate întâmpla atunci când un dezvoltator nu se oprește la prototipul de hackathon, ci continuă să construiască, să învețe și să itereze. Este dovada că tehnologia, atunci când e pusă în slujba societății, poate aduce claritate acolo unde domnește opacitatea.