production
The Hockey Analytics — pipelines, models and publishing

In one line: League scrapers and pipelines feed DuckDB/MotherDuck and an Astro site — analysis with hockey context, refreshed and published on thehockeyanalytics.com.
Context
Hockey analytics here is both craft and infrastructure: credible numbers need durable pipelines, not one-off spreadsheets. The public site is the output layer; the portfolio documents how it is built.
Why it was worth building
Generic dashboards miss tactical context; ad hoc scripts do not scale across SHL, NHL, and supporting sources. A repeatable pipeline makes methods inspectable and stories reproducible — the Gapminder-style pieces on /hockeyanalytics link to full methods on the live site.
What I built
- Scraper fleet (via The Unnamed Roads platform) — scheduled jobs for league and tracking sources including SHL, NHL, Liiga, Elite Prospects, MoneyPuck, and related feeds; raw landings in object storage.
- Query layer — DuckDB locally and MotherDuck for shared analytics SQL without a full warehouse bill.
- Publishing — Astro site at thehockeyanalytics.com with SEO-ready articles (e.g. SHL timeout ledgers, roster continuity analyses).
- Automation hooks — n8n and webhook patterns aligned with the broader content pipeline on this portfolio.
How it was adopted
I operate the stack as engineer and analyst: pipeline health, query review, and published narratives. LINHAC 2026 connects the work to the wider hockey analytics community.
Effect
- Live public analyses on thehockeyanalytics.com with methods linked from the portfolio.
- Pipelines reused across league updates instead of one-off exports.
Where AI fits now
Computer-vision and LLM-assisted workflows appear where they improve repeatability — but governed data and publishing guardrails stay central. The same agent and MCP patterns from The Unnamed Roads support research drafts; humans still own what goes live.
Want to compare notes?
I am always interested in thoughtful conversations about the decisions, trade-offs, and systems behind this work.
Get in touch