Skip to main content

Vambora

Real-time tracking, multi-modal routing, and proximity alerts for Rio de Janeiro public transit. Multi-platform (Web + Android), open-source, near-zero hosting cost.

What lives in this site

  • Architecture — the system's structure, sequence diagrams, and design rationale.
  • ADRs — every non-trivial decision recorded with context and alternatives.
  • Domain — the ubiquitous language and the bounded contexts of the model.
  • Data sources — every external feed we depend on, with quirks and integration notes.
  • Development — how to run the stack locally and what conventions apply.

Layout

A single monorepo (vambora):

PathPurpose
backend/API + ingestion/alert workers (Python 3.12 + FastAPI + TimescaleDB + PostGIS)
web/Next.js 15 PWA
docs/This site (Docusaurus 3)

A native Android app (Kotlin + Compose) is planned. This site is the navigable documentation for the architecture and decisions.

Goals

  • Real-time tracking of buses, BRT, and VLT in Rio.
  • Multi-modal route planning with transfers.
  • Configurable proximity push notifications.
  • Robust offline mode (downloaded GTFS bundle).
  • Web + Android, sharing one backend.
  • Hexagonal architecture extensible to other cities.
  • Strong typing, high test coverage, excellent documentation.
  • Open-source, MIT-licensed, ~$0/month hosting.