About the Project
The frontend is a thin client on top of the nhl-excite-o-meter-be/backend service. Every score on this site comes from the Flask API’s /excitement/<gamePk> and /preview endpoints, which replay the NHL api-web feeds and run them through the shared ExcitementScorer.
exciteo/preview.py, and surface high-scoring, chance barrage, hits frenzy, or low-event storylines when the data warrants it.exciteo/config.py, so the weights, bonuses, and category thresholds documented here mirror the production service.If you want the math behind those numbers, the backend repository is the source of truth—dive into exciteo/scoring/engine.py and exciteo/utils.py to see how the raw NHL events become the excitement trace the UI renders.
The project stays intentionally open: scoring constants, decay rates, and storyline logic are versioned alongside the API, and this frontend simply reflects that work. Explore the Methodology for the full breakdown or the Stats Guide for UI-specific definitions.
Pages like the live game dashboard, previews, and excitement history charts consume the backend JSON shapes directly, which keeps release cadence simple—refresh the backend, redeploy the static site, and the copy here stays in lock-step.