josh 7784eaf9ce
All checks were successful
CI / Lint (push) Successful in 6s
CI / Test (push) Successful in 6s
CI / Build & Push (push) Successful in 16s
feat: overhaul hype score algorithm with 9 hockey-driven improvements
- Empty net detection: pulled goalie triggers +150-250 bonus, stacks with PP
- Playoff series importance: Game 7 Cup Final = 200, elimination games scale
  by round; fallback of 100 when series data unavailable
- Period-aware score differential: 2-goal deficit penalty DECREASES in final
  2 min of P3 (goalie-pull zone), 3+ goal games get harsher penalties late
- Persistent comeback narrative: tracks max deficit, sustained bonus for 2+
  goal recoveries instead of one-shot spike (0-3 to 3-3 = 150 persistent)
- Shootout special handling: flat base 550 with no time component; ranks below
  dramatic close P3 games (skills competition, not hockey)
- Multi-man advantage: parses situationCode for 5v3/4v3, applies 1.6x PP mult
- Non-linear time priority: elapsed^1.5 curve weights final minutes more
- Matchup multiplier rebalance: P1/P2 from 2.0/1.65 to 1.5, tiebreaker not
  dominant factor
- Frontend gauge max raised from 700 to 1000 with adjusted color thresholds

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-31 19:02:43 -04:00
2026-03-29 09:20:21 -04:00

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

  1. Clone the repository:

    git clone https://github.com/your-username/nhl-scoreboard.git
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Run the application:

    python run.py
    
  4. Open http://localhost:2897 in your browser.

Credits

Data provided by the NHL via their public API.

License

MIT License

Description
NHL Scoreboard Without Fluff
Readme 332 KiB
Languages
Python 79.5%
JavaScript 11.1%
CSS 7.2%
HTML 1.7%
Dockerfile 0.5%