A Mapbox map that reads a rail network the way a dashboard reads a P&L: toggleable layers, station search, line detail, KPIs that follow the current filter.
The context
A rail network is not a list: it is a graph — stations, lines, connections, works, incidents. In a spreadsheet or a PDF, nobody sees where things sit, or what overlaps. The job was not a decorative map, but a reading tool: zoom without losing sharpness, switch a layer on or off (stations, lines, works), find a station, and understand in one second what is filtered. Mapbox is the right engine here: vector tiles, a controlled style, business layers in GeoJSON on top of the basemap, performance at every zoom level.
What we delivered
- A dedicated Mapbox GL JS map on vector tiles — sharp from the national view down to the platform
- Independent business layers in GeoJSON: lines, stations, works, points of interest, each toggled without a reload
- Search and fly-to a station or a line, with a detail panel (name, connections, status)
- Cross filters (region, line type, status) that recompute both the map and the KPI strip
- Dashboard strip: visible stations, active lines, works alerts — always aligned with the current view
- An API serving geographic objects; the map only knows layers, not SNCF-specific hard-coding
- A standalone map component: the same engine serves another organisation, another network, other layers, without rewriting the app
The bricks — reusable on your business
This is not a closed product. Each brick comes off the shelf: a Mapbox map for a branch network, a KPI dashboard for a sales cockpit, OCR for invoices or claim files, an assistant to query an e-commerce catalogue.
Outcomes
- The network is read on a single map, not across a pile of files
- A layer toggles without a reload, including at the tightest zoom
- Searching for a station opens its detail and centres the view
- The strip indicators stay consistent with the applied filter
- The mapping engine is a brick: other layers or another business plug into it
Tech stack
Mapbox GL JS · React · TypeScript · GeoJSON · Vector tiles · API REST · PostgreSQL · Google Cloud Run