Plotly Ice Hockey Dashboard 🏒📊

I recently built a fully interactive, self-hosted ice hockey analytics dashboard using Plotly Dash, Python, BigQuery, and Azure — tailored for exploring game data, team performance, and player stats.

You can check out the live version here:
👉 Ice Hockey Dashboard – Mackan’s Hockey Hub


Why not Power BI or Metabase?

Business Intelligence (BI) tools often come with a heavy price tag. For example, Power BI will cost you around €120 per user per yearat best—even if you’re already embedded in the Microsoft ecosystem.

That can be a tough pill to swallow, especially for startups and scale-ups where budgets are tight and team sizes are still evolving.


Lightweight Alternatives

There are lighter tools that sit “on top” of your database:

  • Redash and Metabase are simple and fast to implement
  • Grafana is great for real-time monitoring and time-series data
  • Datadog, App Insights, and other observability platforms offer basic visualizations too

However, most of these are limited when it comes to interactivity, complex filters, and full UI customization.


Why Plotly Dash?

I needed:

  • A custom user interface
  • Fast, interactive filtering
  • Backend control with Python logic

That’s where Plotly Dash shines — it gives full flexibility while still being relatively lightweight and Python-native.


The Setup

Here’s how the whole system fits together:

  1. Python script pulls external data (daily)
  2. Data is sent to Google BigQuery as DWH
  3. Scheduled queries in BigQuery transform and aggregate it
  4. The Plotly Dash app, deployed on Azure, fetches the data and applies logic, filters, and visualizations
Data Flow Diagram

Screenshots

A few examples from the dashboard:

Ice Hockey Dashboard Table Table Position Overview

Got questions, feedback, or want to build something similar?
Feel free to reach out — always happy to chat dashboards, data, or hockey. 🏒