Parking Guidance System
Real-time occupancy across a parking site, drawn on an interactive map and backed by a live video wall. Sensor state and CCTV in one view, with analytics on top.
- Period
- Context
- My role
The problem
Operators were reading occupancy from one system and watching cameras in another. Neither answered the question that actually matters on a busy day — where are the free bays right now, and is that reading true.
How it was built
One map, updated as state changes
Bay state is pushed over WebSockets rather than polled, so the map reflects the site as sensors report it. The map is the primary surface: occupancy is a property of a place, and a table of bay identifiers does not tell an operator where to send a driver.
Cameras beside the data
Live CCTV feeds are integrated into the same view, so a reading that looks wrong can be confirmed against the actual bay without leaving the screen.
Analytics from the same stream
The event stream that drives the map also feeds an analytics module covering peak hours and utilisation, so the reporting is derived from what actually happened rather than a separate collection path.
Where it landed
- Live occupancy and camera verification in a single operator view
- Peak-hour and utilisation reporting built on the same event stream
Specification
- Transport
- Surfaces
- Sector