02 / Produs în timp real

busapp

Sosiri în timp real pentru transportul public din București–Ilfov, fără confuzie între datele live și orar.

Panoul busapp pentru stația Piața Unirii 1, cu sosiri marcate LIVE și ORAR

Rezultat

busapp răspunde la întrebarea pe care o ai în stație: mă grăbesc, mai aștept sau pot sta liniștit?

Aplicația arată sosirile din București–Ilfov și explică sursa fiecărei estimări. O predicție live nu arată niciodată la fel ca o oră din program, așa că știi câtă încredere poți avea în timpul afișat.

Context

Datele de transport amestecă orarul planificat cu observațiile primite de la vehicule. Dacă ambele devin aceeași numărătoare inversă, nu mai vezi când sursa live întârzie sau lipsește.

În busapp, proveniența face parte din interfață. Eticheta, vechimea datelor și trecerea la orar contează la fel de mult ca numărul de minute afișat.

Constrângeri

Panoul trebuie să răspundă repede chiar și atunci când sursa externă nu este perfectă.

  • Datele vehiculelor pot întârzia, pot lipsi la o actualizare sau pot contrazice orarul static.
  • O estimare poate fi corectată numai după ce profilul stației, liniei sau tipului de transport a fost verificat față de sosiri observate.
  • Aplicația trebuie să funcționeze în stație, pe un ecran mic, fără cont și fără configurare.
  • Locația și călătoriile salvate rămân în browser. Nu este nevoie de profil sau de urmărirea utilizatorului.
  • Alertele operatorului rămân vizibile fără să distragă de la informația principală.

Ce am livrat

Am păstrat interfața concentrată pe sosiri și am construit în spate sistemele de cache și măsurare de care are nevoie.

  • Găsirea stațiilor după locație sau nume și linkuri directe care pot fi distribuite.
  • Sosiri marcate clar LIVE sau ORAR, alerte de la operator și un indicator separat pentru actualitatea datelor.
  • Călătorii și preferințe salvate local, fără cont și fără urmărirea utilizatorului.
  • Preîncărcarea datelor GTFS statice, cache pentru fluxul în timp real și limite stricte de așteptare la actualizare.
  • Un sistem care măsoară calitatea predicțiilor și păstrează doar rezultate agregate, nu identități sau coordonate ale vehiculelor.

Cum este afișată incertitudinea

LIVE

Estimarea pornește de la o observație recentă a vehiculului, iar sursa rămâne vizibilă.

ORAR

Este o rezervă utilă, dar nu primește aceeași greutate vizuală ca o estimare live.

Degradare controlată
  1. ActualDatele live sunt suficient de recente.
  2. Pauză scurtăUltima stare confirmată rămâne cel mult 60 de secunde dacă o actualizare este incompletă.
  3. ExpiratInterfața revine la orar și spune clar acest lucru.

Vedere de ansamblu

Mai întâi sursa, apoi minutele

Arhitectură simplificată
Planificare GTFS static Stații, linii, curse și ore programate
Observare GTFS în timp real Actualizări ale vehiculelor, modificări de curse și alerte
Decizie Cache + stare Actualitate, rezervă și actualizare limitată
Afișare Panou de sosiri Minute, direcție și eticheta sursei

Decizii importante

Etichetarea sursei
Eticheta LIVE apare numai pentru date recente și confirmate. În rest, aplicația spune clar că afișează orarul.
Interfața pare uneori mai puțin sigură, tocmai pentru că nu ascunde lipsa datelor live.
Păstrarea unei pauze scurte
O actualizare incompletă nu trebuie să șteargă imediat un vehicul observat cu câteva secunde înainte. Ultima stare confirmată primește o scurtă perioadă de grație.
Datele trebuie apoi să expire rapid, altfel aplicația ar afișa o certitudine falsă.
Calibrarea estimărilor validate
Sistemul compară predicțiile cu sosirile observate. După ce un profil este validat, poate corecta estimarea pentru stația, linia sau tipul de transport respectiv.
Până la validare, busapp folosește direct predicția primită în timp real.
Doar ce contează în stație
Fără hărți, conturi sau urmărirea călătoriilor. Produsul te ajută să iei o decizie în stație, nu încearcă să fie un portal complet de transport.
Planificarea traseelor rămâne în afara aplicației, chiar dacă ar adăuga încă o funcționalitate.

Dovezi

Interfață publică

Pagina publică a stației arată sosirile, starea sursei și alertele curente.

Deschide busapp ↗
Trecerea la orar este vizibilă Sosirile LIVE și cele din orar pot apărea împreună fără să fie prezentate ca și cum ar avea aceeași precizie.
Datele personale rămân locale Locația și preferințele rămân în browser. Sistemul păstrează statistici de precizie, nu istoricul deplasărilor.

Limite

Aplicația nu poate inventa date live.

Când fluxul operatorului întârzie sau nu este disponibil, busapp poate folosi pentru scurt timp datele din cache, poate explica problema și poate reveni la orar. Nu poate pretinde că știe unde este vehiculul. Aplicația nu include planificare de trasee, conturi sau urmărirea călătoriilor.

Rol și tehnologii

Am proiectat și construit logica produsului, fluxul de date în timp real, interfața, regulile de confidențialitate și infrastructura de operare.

Next.js · Node.js · GTFS static + în timp real · cache pe server · systemd · Caddy