Building a Real-time Transit Monitoring Dashboard: A Nuremberg Transit Project

Posted on: May 5, 2025Category: Data Engineering

Building a Real-time Transit Monitoring Dashboard: A Nuremberg Transit Project

Listen to this article

After months of experiencing unreliable transit schedules in Nuremberg, I decided to create a solution that would provide better transparency and insight. Standing at bus stops wondering when my ride would actually arrive became a daily frustration.

The Motivation Behind the Project

As a regular user of Nuremberg's public transportation, I found myself asking questions that standard transit apps couldn't answer:

  • Which routes consistently experience delays?
  • How does the system perform during peak hours versus off-peak times?
  • Are some neighborhoods receiving better service than others?

Transit agencies collect this data, but rarely present it to the public in an accessible, analytical format.

Technical Implementation

  • Data Collection: Python script interfacing with the VGN API for real-time departure information.
  • Data Storage: Redis for real-time data, PostgreSQL for static transit information from GTFS feeds.
  • Analysis Layer: Functions for on-time percentages, average delays, service frequency.
  • Visualization: Streamlit and Plotly for an interactive dashboard.

Technologies Used

Python | Redis | PostgreSQL | Streamlit | Plotly | REST API Integration | Docker

View GitHub Repository →