MBTA Pulse
A real-time MBTA transit dashboard built with Elixir, Phoenix and LiveView.
Phoenix 1.8 · Elixir · LiveView/HEEx · Tailwind CSS v4
What it is
MBTA Pulse is a live dashboard for the MBTA: vehicle positions and station alerts, updated the moment they change. I built it to work through concurrency, supervision trees and stateful web interfaces on a real, constantly changing public data feed.
Why Phoenix and LiveView
Updates pushed, not polled
Instead of the browser asking for new data every few seconds, MBTA Pulse keeps a WebSocket connection open. Vehicle positions and station alerts are pushed to the page as they change.
Built to stay up
It runs on the Erlang VM, where supervised processes restart automatically. When the transit data feed has a hiccup, the dashboard stays responsive and recovers on its own.
State on the server
LiveView keeps the interface state on the server, so the page stays in sync without a heavy front-end app.
The stack
- Phoenix 1.8
- Web framework
- Elixir
- Language, on the Erlang VM
- LiveView / HEEx
- Real-time UI rendered on the server
- Tailwind CSS v4
- Styling
MBTA Pulse is an independent project. It is not affiliated with or endorsed by the MBTA.
Need something real-time built?
Custom projects start from $5,000, scoped in writing at a fixed price.