admitere2026.ro · retrospectivă proiect

De la primul commit la platformă publică

Cronologie reconstituită din istoricul git (153 de commit-uri, 24 iunie – 31 iulie 2026): cât a durat până aplicația a fost funcțională și live, ritmul releaselor automate în producție și adăugarea de funcționalități în cele cinci săptămâni următoare.

admitere2026.ro e o aplicație web gratuită care estimează șansele unui elev de clasa a VIII-a de a intra la un anumit liceu, pornind de la nota obținută (sau estimată) la Evaluarea Națională și de la datele istorice de admitere publicate de minister. Elevul alege liceul și județul, iar aplicația calculează o șansă estimată de admitere raportată la pragurile de intrare din anii anteriori; cu un cont creat, poate compara mai multe licee, salva favorite și urmări cum evoluează predicția pe măsură ce apar date noi.

~3 zile
de la commit inițial la aplicație funcțională + securizată live
38 zile
de dezvoltare activă documentată în git (24 iun – 31 iul)
153
commit-uri — fiecare push pe main e un deploy automat
8
valuri majore de funcționalități noi, fără pauze lungi
~105 h
timp estimat lucrat (vezi metodă mai jos)

Ritmul de release în producție

Nu există un pas manual de „release": schimbările ajung automat în producție la scurt timp după fiecare commit pe branch-ul principal. În practică nu a existat un mediu de testare separat, activ, între dezvoltare și producție — fiecare commit de mai jos a ajuns direct la utilizatori.

2
10
11
12
8
12
30
5
9
12
2
2
2
6
4
1
4
3
5
10
1
1
1
iunie — 6 zile active iulie — 17 zile active

Pauze fără niciun commit/deploy: 1 zi (27 iun) · 1 zi (5 iul) · 2 zile (11–12 iul) · 5 zile (16–20 iul) · 6 zile (24–29 iul) — sprint-uri de câteva zile, urmate de pauze din ce în ce mai lungi.

IntervalZile activeCommit-uriOre est.Ce a conținut valul de release-uriUseri activiPredicții generate
24–26 iun323~12 hLansare: algoritm v2, autentificare, primele măsuri de securitate3119
28–30 iun332~18 hBază de licee + matching, algoritm v3, pagină de donații (Buy me a coffee)7353
1 iul130~16 hCea mai încărcată zi: algoritm v4, tracking conversii Google Ads, SEO, monitorizare de bază372.541
2–4 iul326~24 hCont utilizator, Facebook Login, observabilitate internă26313.994
6–10 iul516~15 hDate Bacalaureat + mapare, statistici interne, export CSV/PDF90835.142
13–15 iul38~9 hCorecții de date (contestații), statistici publice pe județ109448.673
21–23 iul316~10 hFuncționalitate nouă /admis + fix-uri rapide126949.779
30–31 iul22~3 hDate oficiale minister 2026, rapoarte interne noi de acuratețe127149.811
Total23153~107 hpe 38 de zile calendaristice, 24 iun – 31 iul127149.811

Estimare, nu pontaj: pentru fiecare zi activă, timpul dintre commit-uri succesive (plafonat la 90 min/interval, ca să nu contorizeze pauzele lungi ca timp lucrat) + o marjă fixă per commit. Probabil o subestimare — discuții, investigații și verificări care nu au dus la un commit nu lasă urmă în git.

Cronologie

Grupată pe valuri, nu pe commit individual — vezi git log pentru detaliu complet.

24–26 iun

Lansare inițială FUNCȚIONAL, LIVE[Useri reali: 3]

Commit inițial + configurare de deploy automat din prima zi. A doua zi: algoritmul v2 (percentile cross-an) devine principal, routing, autentificare, login/logout. A treia zi: mecanisme de securitate, licee salvate — aplicația e deja folosită de useri reali.

28–30 iun

Bază de date licee + matching[Useri reali: 7]

Tabelă liceu, pagini interne, filtre pe profil/specializare. Algoritmul de potrivire nume liceu ↔ date admitere trece prin mai multe iterații de normalizare a diacriticelor în aceeași zi.

30 iun – 1 iul

Algoritm v3/v4 + legal & marketing[Useri reali: 37]

Percentilă reală pe date de admitere (v3), apoi curbă logistică sub pragul estimat (v4, configurabilă). În paralel: pagină de donații (Buy me a coffee), disclaimer, statistici interne, pagină publică de licee pentru SEO, tracking de conversii Google Ads + consimțământ cookie-uri, monitorizare de bază a disponibilității.

2–4 iul

Cont utilizator + observabilitate[Useri reali: 263]

Navigație unificată (inclusiv banner-ul Buy me a coffee), profil extins, Facebook Login, autentificare securizată pentru instrumentele interne. Apare un instrument intern de analiză a activității (loguri + alerte) și primul CLAUDE.md — documentare introdusă devreme, nu la final.

6–10 iul

Date Bacalaureat + analiză internă[Useri reali: 908]

Instrumentul intern de monitorizare capătă alertare pe email. Import rezultate bacalaureat, mapare pe licee, statistici, export CSV/PDF, raport intern de căutări, ierarhie admitere + Top 100 elevi.

13–15 iul

Corecții date + statistici publice[Useri reali: 1094]

Pagini de fix pentru contestații și media la limba maternă, validare încrucișată a trei tabele de date. Statistici publice: top licee căutate pe județ. Fix sesiune persistentă ("ține-mă minte").

21–22 iul

Funcționalitate nouă: /admis FEATURE VIRAL[Useri reali: 1269]

Card "Am intrat la liceu" — generat client-side, cu QR, fără date salvate pe server. Lansat rapid, urmat de o serie concentrată de fix-uri UI (text ieșit din card, listă tăiată, tastatură greșită) în următoarele două zile.

22–31 iul

Date oficiale 2026 + acuratețea algoritmului[Useri reali: 1271]

Import admitere 2026 oficial de la minister, algoritm de mapare rescris (formă/limbă, tier pe cod minister). Două rapoarte interne noi: Acuratețe Predicții și Tendință Specializări — aceasta din urmă devine, pe 31 iulie, noua pagină publică principală a site-ului.

Retrospectivă

Ce reiese din tiparul commit-urilor — nu doar ce s-a livrat, ci cum s-a livrat.

A mers bine

  • Time-to-launch foarte scurt

    Aplicație funcțională — algoritm, autentificare, UI — în 2 zile de la commit-ul inițial; securizată corect (mecanisme de securitate) în a treia.

  • Iterație pe algoritm fără a bloca lansarea

    v2 → v3 → v4 au coexistat, selectabile din config, fiecare versiune rămânând disponibilă ca fallback.

  • Securitate tratată proactiv, nu doar reactiv

    Mecanisme de securitate, autentificare securizată pentru instrumentele interne — introduse devreme și extinse constant.

  • Investiție timpurie în observabilitate

    Instrumentul intern de monitorizare, extins ulterior cu alertare pe email, a permis diagnosticarea rapidă a problemelor din producție.

  • Documentare introdusă din mers

    CLAUDE.md a apărut în săptămâna 2, nu ca proiect de final — a redus fricțiunea pentru lucrul ulterior.

  • Ritm susținut, fără platouri lungi

    ~4 commit-uri/zi în medie, 5 săptămâni de livrare continuă de funcționalități noi.

Nu a mers bine

  • Bug-uri vizibile doar în producție

    Câteva comportamente au apărut doar în mediul de producție, nu și local — descoperite abia după deploy, nu în timpul dezvoltării.

  • Configurație de acces API cu ajustări repetate

    Tipar recurent de fix-uri mărunte de configurare de fiecare dată când apărea un endpoint nou — risc structural, ajuns între timp regulă explicită în CLAUDE.md.

  • Algoritmul de mapare licee, rescris de mai multe ori

    Normalizare diacritice, formă/limbă, tier pe cod minister — o problemă greu de rezolvat din prima, revizitată în cel puțin 3 valuri separate.

  • /admis lansat înaintea testării pe conținut real

    ~7 fix-uri UI în 2 zile (overflow de text, listă tăiată la 60 de elemente, tip greșit de tastatură) — semn că nu a fost testat suficient cu date reale înainte de livrare.

  • Integrări externe cu multe runde de ajustare

    Facebook Login și tracking-ul de conversii Google Ads au cerut fiecare mai multe runde de ajustare a configurației înainte să funcționeze corect.

Monetizare

Fără reclame afișate userilor — tracking-ul de conversii Google Ads de mai sus e pentru promovarea aplicației, nu venit din reclame pe site. Singura încercare de monetizare a fost pagina de donații "Buy me a coffee", adăugată pe 30 iunie.

284
vizite pe pagina de donații (urmărite din 1 iulie, când a pornit tracking-ul de vizite pe pagini)
0 :-)
cafele primite