Pe 9 iulie 2026, OpenAI a lansat noul catalog de aplicații din ChatGPT. Pe 21 iulie — la doar 12 zile după — „Când Reciclăm?" devenea prima mea aplicație evaluată, aprobată și publicată în el. Acesta este primul studiu de caz dintr-o serie despre cele patru aplicații pe care le-am construit pentru ecosistemul OpenAI. Încep cu ea pentru că e cea mai ușor de înțeles: o problemă de oraș, date oficiale greu de folosit și un asistent care răspunde la o întrebare pe care și-o pune orice bucureștean — „când se ridică gunoiul la mine pe stradă?"
Pe scurt
- 5 tool-uri MCP publice — căutare de stradă, program de colectare, transparență pe sector, ghid de sortare, prospețimea datelor
- ~29.000 de înregistrări brute de la operatori, normalizate automat în reguli de recurență
- Peste 30 de domenii oficiale citate ca surse în conținut
- 3 forme, o singură sursă de date: site, PWA instalabilă, aplicație în ChatGPT
- Evaluată, aprobată și publicată de OpenAI pe 21 iulie 2026 — la 12 zile de la lansarea catalogului de aplicații (9 iulie); gratuit, fără cont, open source
Problema
În București, doar 2 din 6 sectoare publică programul colectării deșeurilor per adresă. Acolo unde există, informația e îngropată în site-urile operatorilor de salubritate: pagini greu de navigat, documente pe segmente de stradă, formate diferite de la un sector la altul. Iar colectarea separată înseamnă zile diferite pentru fracții diferite — menajer, reciclabil, bio, sticlă, voluminoase. Practic, un locuitor care vrea să recicleze corect trebuie să facă muncă de detectiv.
De ce soluțiile existente nu erau suficiente
Informația exista, dar nu într-o formă utilizabilă. Site-urile operatorilor sunt gândite ca publicații, nu ca servicii: găsești un program dacă știi deja unde să cauți și ai răbdare să parcurgi documentele. Nu există un loc unic în care să introduci adresa și să primești răspunsul. Iar pentru sectoarele care nu publică nimic per adresă, nici măcar munca de detectiv nu ajută — și nimeni nu îți spune onest că datele lipsesc și unde poți suna.
Obiective
Am pornit cu patru obiective clare:
- Răspuns per adresă: introduci strada și numărul, primești zilele exacte de colectare pe fracții.
- Doar surse oficiale: fiecare afirmație cu sursa citată — nimic inventat, nimic „din auzite".
- Onestitate acolo unde datele lipsesc: pentru sectoarele care nu publică, aplicația spune explicit ce publică și ce nu fiecare operator și cum poți afla concret (dispecerate, puncte de colectare).
- Distribuție fără fricțiune: gratuit, fără cont, fără reclame — pe web, ca PWA instalabilă și, din iulie, direct în ChatGPT.
Arhitectura
Aplicația are trei straturi, toate peste aceeași sursă de date:
- Colectarea datelor: programele operatorilor oficiali (Romprest pentru Sectorul 1, Supercom pentru Sectorul 2) sunt preluate automat și normalizate — aproape 29.000 de înregistrări brute transformate în reguli de recurență per segment de stradă. Peste 30 de domenii oficiale sunt citate ca surse în conținut.
- Aplicația web (PWA): căutare per adresă, program pe fracții, notificări push înainte de ziua colectării, ghid de sortare pentru cazurile grele (baterii, ulei alimentar, medicamente, deșeuri electrice, textile, SGR).
- Serverul MCP: expune aceleași date către agenții AI prin cinci tool-uri publice — căutare de stradă, program de colectare, starea transparenței pe sector, ghid de sortare și prospețimea datelor.
Detaliul important: serverul MCP nu are o bază de date proprie. Folosește exact același API ca aplicația web. O singură sursă de adevăr, indiferent dacă întrebi site-ul sau ChatGPT-ul.
De ce MCP și nu un chatbot clasic?
Un chatbot clasic ar fi însemnat să construiesc și să întrețin încă o interfață conversațională, să conving utilizatorii să vină pe ea și să plătesc infrastructura de model. MCP (Model Context Protocol) inversează logica: aplicația merge acolo unde utilizatorii sunt deja. ChatGPT pune conversația și înțelegerea limbajului natural; aplicația mea pune datele verificabile, prin tool-uri pe care modelul le apelează când are nevoie.
Diferența esențială e la încredere: un model întrebat direct „când se ridică gunoiul pe strada X" va răspunde plauzibil, dar inventat. Cu MCP, modelul nu ghicește — apelează tool-ul, iar tool-ul răspunde din datele oficiale, cu sursa atașată. Iar dacă datele lipsesc pentru sectorul tău, răspunsul spune exact asta, în loc să improvizeze.
Fluxul complet
Utilizator
│ „Când se ridică gunoiul pe Strada Aviatorilor 20?"
▼
ChatGPT
│ alege tool-ul potrivit și extrage adresa
▼
Server MCP — 5 tool-uri publice
│ recycling_search_street → recycling_collection_schedule
▼
API-ul aplicației
│ aceleași date ca pe site
▼
Baza de date
│ reguli de recurență per segment de stradă
▲
│ actualizare automată
Surse oficiale
(operatorii de salubritate; 30+ domenii citate)
Utilizatorul scrie o întrebare normală. ChatGPT identifică intenția, apelează întâi căutarea de stradă (care tolerează diacritice și variații de nume), apoi cere programul pentru segmentul găsit. Răspunsul vine cu zilele pe fracții și cu sursa oficială — iar modelul îl formulează conversațional. Tot fluxul durează câteva secunde.

Provocările
- Datele-sursă: formate diferite, pagini gândite pentru citit, nu pentru procesat. Soluția: colectare automată plus normalizare într-un model unic de reguli de recurență.
- Golurile de transparență: 4 din 6 sectoare nu publică programe per adresă. Decizia grea a fost să nu maschez asta — am transformat lipsa datelor într-o funcționalitate: un tool dedicat spune starea transparenței pe fiecare sector.
- Potrivirea adreselor: oamenii scriu „Aviatorilor", „str. aviatorilor", cu sau fără diacritice. Căutarea trebuia să fie tolerantă, altfel fluxul se rupea de la primul pas.
- Încrederea în răspunsuri: modelele pot halucina. Antidotul: sursa citată la fiecare rând și un tool de prospețime prin care agentul poate spune cât de recente sunt datele.
- Review-ul OpenAI: procesul cere pagini legale, politică de confidențialitate, verificarea domeniului și o aplicație care face ce declară. Pregătirea riguroasă a contat: catalogul s-a lansat pe 9 iulie, iar pe 21 iulie aplicația era deja evaluată, aprobată și publicată în el.
Deciziile tehnice importante
- O singură sursă de adevăr — MCP-ul consumă API-ul aplicației, nu o copie a datelor.
- Reguli de recurență, nu calendare statice — programele se exprimă ca reguli per segment de stradă, deci rămân valabile fără regenerare manuală.
- Tool-uri read-only, fără cont — nimic de instalat, nimic de configurat, zero date personale cerute.
- Onestitatea ca arhitectură — „nu știm" e un răspuns de clasa întâi, cu indicații practice, nu o eroare.
- Standard deschis — MCP nu e specific ChatGPT; aceeași integrare poate funcționa cu orice client compatibil.
- Open source — codul e public pe GitHub (marian5070/cand-reciclam), disponibil pentru audit și pentru adaptare în alte orașe.
Rezultatul
Aplicația trăiește azi în trei forme, toate din aceleași date: cand-reciclam.madeinro.eu, PWA instalabilă cu notificări push și aplicație în ChatGPT — evaluată, aprobată și publicată de OpenAI în catalogul de aplicații pe 21 iulie 2026, la 12 zile după lansarea catalogului (9 iulie). Gratuit, fără cont, fără reclame. Lansată în aprilie 2026, cu stadiul datelor documentat transparent, sector cu sector.
Încearcă aplicația în ChatGPT sau vezi pagina proiectului.
Ce aș îmbunătăți în versiunea următoare?
- Acoperirea: extinderea la sectoarele 3–6 pe măsură ce operatorii publică date utilizabile — arhitectura e pregătită, lipsesc doar sursele.
- Alte orașe: modelul (colectare automată + reguli de recurență + onestitate pe goluri) e replicabil oriunde; codul deschis e o invitație explicită.
- Răspunsuri mai bogate în ChatGPT: carduri vizuale cu calendarul săptămânii, nu doar text.
- Bucla de feedback: utilizatorii văd realitatea din teren înaintea oricărui site oficial — raportările lor pot corecta și îmbogăți datele.
---
Acest studiu de caz face parte dintr-o serie despre construirea aplicațiilor AI pentru ecosistemul OpenAI. Urmează: RoTV Guide, Digital Compass și Travel Trends — fiecare cu altă lecție de arhitectură. Contextul întregii povești: AI adoption is a delivery discipline.