JC
← Back to projects
UB

URBUS

Operational intelligence backend for public transit: real-time data ingestion, bus bunching detection and alerts.

Node.jsTypeScriptFastifyPrismaPostgreSQLZodnode-cronPinoPrometheusVitestSwagger/OpenAPIDocker ComposeFlutterDart
bunching flaggedfleet sync · real-time ingestion

Problem

Transit operators struggle to keep buses evenly spaced. When headways break down, buses bunch together, passengers wait longer, and service becomes unreliable.

Solution

URBUS ingests fleet data in real time, runs a headway and bunching engine, and triggers alerts so operators can act before service degrades.

My role

Founder & CTO. I lead the backend and technical direction for a 3-developer team (plus a sales lead), and contribute to the Flutter frontend.

Highlights

  • Schema-validated API with rate limiting and auto-generated docs
  • Scheduled processing jobs for continuous fleet ingestion
  • Production-grade metrics (Prometheus) and structured logging (Pino)
  • Containerized deployment with Docker Compose

Results

  • Real-time bunching detection running against live fleet feeds
  • Technical foundation built to scale across multiple transit operators