# HockeyIQ Kenya
An automated data pipeline and dashboard for Kenya Hockey Union's 2026
domestic season, Kenya's national-team international record, and FIH
Hockey World Cup 2026 context — scraped, analysed, and published as a
self-contained HTML dashboard, kept current by GitHub Actions.
This README is the operational guide. For a full findings/limitations
audit, see **AUDIT.md** — read that before treating anything
here as "verified working," since several claims below could not be
tested end-to-end in the environment that assembled this repo.
## Project structure
```
notebooks/
01_scraping.ipynb Domestic scrape: 8 competitions, matches, events, player stats
02_league_analytics.ipynb League tables, scorer/discipline/form analytics
03_advanced_analytics.ipynb 44-module advanced analytics + the dashboard builder (Module 35)
04_international.ipynb Kenya national-team record (FIH TMS), rankings, ACCC medals
05_worldcup_live.ipynb Fast, standalone FIH World Cup 2026 standings refresh
data/
raw/ Scraper output, one row per match/event/player-stat
processed/ Analytics output consumed by the dashboard
reports/
dashboard.html Generated by 03 — this is the actual site
scripts/
post_to_linkedin.py Builds and posts a real-data digest to LinkedIn
.github/workflows/
domestic-weekly.yml 01->02->03->04, weekly, deploys to Pages, posts weekly digest
worldcup-live.yml 05 + dashboard rebuild, every 3h during the WC window, deploys to Pages
worldcup-daily-digest.yml One LinkedIn post/day during the WC window (decoupled from the above)
requirements.txt
AUDIT.md Full findings, what's fixed, what's unverified, go-live checklist
```
All notebooks use paths like `../data/processed/...`, so they must be run
**from inside `notebooks/`** (the workflows already do this via
`working-directory: notebooks`).
## How it stays up to date
1. **`domestic-week …