A web recreation of the old Fifty football app experience.
It includes:
- Live NFL scoreboard (ESPN site API)
- Live/in-game win probability timeline (ESPN summary API)
- Recent drive context + scoring state
- Game chatter feed:
- X recent search when
X_BEARER_TOKENis configured - Reddit-based fallback when no X token is present
- X recent search when
- Shareable deep links per game (
?game=<eventId>)
- Node.js 18+ (no framework)
- Server-rendered static frontend from
/public - Lightweight API proxy in
server.js
npm startOpen:
http://localhost:3000
Copy .env.example and set values if needed:
PORT(default3000)HOST(default0.0.0.0)X_BEARER_TOKEN(optional, enables X/Twitter recent-search feed)
GET /healthGET /api/scoreboardGET /api/scoreboard?date=YYYYMMDDGET /api/game/:eventIdGET /api/social?home=<home team>&away=<away team>
This repo includes render.yaml.
- Push this repo to GitHub.
- In Render, create a new Blueprint and connect the repo.
- Render will auto-detect
render.yamland configure the web service. - Optional: set
X_BEARER_TOKENin Render environment settings. - Deploy and share your public URL.
docker build -t fifty-web .
docker run -p 3000:3000 fifty-web- Data source availability can vary by game state and season phase.
- Pregame games may only show matchup predictor percentages until live play starts.
- ESPN response fields can change over time; parsing is defensive but may need updates if upstream contracts shift.