This app visualizes live and historical GPS data for every bus and tram in
Gdansk. Vehicle positions stream in continuously and are stored for
analysis, so you can see what's happening right now and how the network
behaves over time.
Live Map
Colored dots are vehicles, tracked from live GPS data and redrawn on the map every 10 seconds.
Use the route filter dropdown (top-left) to focus on a single line.
Click a vehicle to draw its current trip: grey = already covered, light blue = ahead.
Click a stop pole to see its scheduled departures and live delays.
Toggle Heatmap to see 24 h GPS density instead of live vehicles.
Click Ask to ask a question in plain English — it answers using live Pinot data and shows the query it ran.
Click Filter to describe what to show (e.g. "late 6s near Wrzeszcz") instead of using the controls above — it narrows the vehicles already on screen without a fresh query, so it keeps working even when Ask can't.
Small badges like 12 ms show how fast that panel's data query ran.
Analytics
The Analytics tab embeds dashboards covering on-time performance,
punctuality trends, and rush-hour load across the whole network — built
on the same underlying data as the live map.
Schema
The Schema tab shows every table's columns and the indexes behind the
fast queries. It is read-only: schema changes are proposed as pull
requests and applied by the cluster's own registration step.
You can reopen this any time via the ? button in the header.
Loading…
Ask the data
Filter the map
Loading schema…
Read-only view of what the Pinot controller has registered. Changes are
proposed as pull requests against cluster-setup/table_config/ (the MCP tool
propose_schema_change) and applied by the table registrar, so the repo and the
cluster never disagree.