2da60e27aeab5427101bcec8768c30e193446080
- Stale data banner after 3 consecutive fetch failures, auto-clears on recovery - Date navigation with left/right arrows (Yesterday/Today/Tomorrow labels), fetches from NHL API for non-today dates, disables auto-refresh on history - Empty state message when no games are scheduled - Series detail page auto-refreshes every 30s when a game is live - Notification permission deferred until a playoff OT actually occurs - Scroll position saved/restored when navigating to/from series detail - Team records rendered with better contrast and tabular nums - Active bracket round highlighted with gold heading + underline, completed rounds dimmed more aggressively, mobile accordion auto-opens current round - Browser tab title shows live game count (e.g. "NHL Scoreboard (3 Live)") - Service worker update shows a dismissable toast instead of force-reloading Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
NHL Scoreboard Web App
A web application that displays live NHL game scores, team statistics, and game states in real-time. Retrieves data from the NHL API and surfaces the most interesting games first using a hype scoring algorithm.
Features
- Live NHL game scores, shots on goal, and game state
- Power play indicators with live countdown clock
- Smooth period and intermission countdown clocks
- Hype Meter — ranks games by how exciting they are right now, factoring in:
- Period, time remaining, and score differential
- Late-game urgency and comeback bonuses
- Power play situations
- Game importance — boosts standings-relevant matchups late in the season, with extra weight for division and conference rivals fighting for playoff spots
Hype Scoring
Games are sorted by a priority score combining in-game excitement and contextual importance:
| Factor | Description |
|---|---|
| Period & time | Later period and deeper into it = higher base score |
| Score differential | Close games rank higher; blowouts are penalized |
| Late urgency | Bonus for ties and 1-goal games in the final 12 minutes |
| Comeback | One-time spike when the trailing team scores to pull within 2 |
| Power play | Bonus for an active man advantage, scaling with game situation |
| Game importance | Season-progress × playoff-bubble proximity × rivalry multiplier (max +150 pts) |
Game importance ramps up sharply after ~game 55 of 82, peaks for teams fighting for the last wildcard spot, and applies a 1.4× bonus for division games and 1.2× for conference games.
Technologies Used
- Python / Flask — backend and API polling
- SQLite — standings cache (refreshed every 10 minutes)
- HTML / CSS / JavaScript — frontend with auto-refresh every 10 seconds
Installation
-
Clone the repository:
git clone https://github.com/your-username/nhl-scoreboard.git -
Install dependencies:
pip install -r requirements.txt -
Run the application:
python run.py -
Open
http://localhost:2897in your browser.
Credits
Data provided by the NHL via their public API.
License
Description
Languages
Python
71.2%
CSS
11.9%
JavaScript
8.5%
HTML
7.3%
Jinja
0.9%
Other
0.2%