Track SEPTA's decorated holiday buses in real-time across Philadelphia. See where they are now and where they're heading next.
├── backend/ # Fastify API server
│ ├── bin/ # Scripts (GTFS download)
│ ├── data/gtfs/ # Downloaded GTFS schedule data
│ └── lib/ # GTFS loader and route predictor
├── frontend/ # React + Vite web app with MapLibre GL
└── .tool-versions # asdf version management
- asdf with nodejs plugin
# Install Node.js via asdf
asdf install
# Download GTFS schedule data
cd backend
npm install
node bin/download-gtfs.js
# Start backend (in one terminal)
npm run dev
# Start frontend (in another terminal)
cd frontend
npm install
npm run devOpen http://localhost:5173 to view the map.
To view test buses instead of holiday buses (useful for development when holiday buses aren't running), add ?test=true to the URL: