A single, self-contained web page that lets anyone watch a Race Cones race live in a browser — no app install. It subscribes to the same Firebase Realtime Database feed the phone app publishes to.
- The host phone (connected to the master cone over Bluetooth) taps Broadcast live on the Race tab → gets a 4-char room code.
- Spectators open this page and enter the code (or use a deep link:
?code=ABCD). - Read-only: spectators receive the live clock, splits, last/best, and the rally driver dashboard.
- Push this repo to GitHub.
- Settings → Pages → Build and deployment → Deploy from a branch → Branch: main, folder: / (root) → Save.
- The site goes live at
https://<user>.github.io/<repo>/. - Share a link with the code baked in:
https://<user>.github.io/<repo>/?code=ABCD.
Edit index.html, commit, and push — Pages redeploys automatically.
The Firebase web config is in index.html. Web API keys are safe to ship in a client — access is gated by Realtime Database rules, not key secrecy. The host app writes each snapshot to rooms/{CODE}/snap; this page reads that path with onValue. Ensure your database rules allow public read on rooms/*/snap (and host write), e.g.:
{ "rules": { "rooms": { "$code": { ".read": true, ".write": true } } } }