Data pipeline + decision-support system for simulating Morocco's WC2026 squad selection (49→26 players) — Medallion architecture, ML modules, Streamlit dashboard.
# FootVision — Morocco WC26 Squad Selection Decision Support System
A medallion-architecture (Bronze → Silver → Gold) data pipeline, plus four
decision-support modules and a password-gated, 12-page Streamlit dashboard
(Home + 11 pages), built to help reason about Morocco's 26-man squad
selection for the 2026 World Cup from a pool of 49 candidate players. The
dashboard is trilingual (English / Français / العربية).
End-to-end pipeline for selecting a 26-player Morocco national team squad from a pool of 49 candidate players.
> **Naming note:** the project was renamed **FootVision**
> (GitHub: `badre2152/FootVision`).
> The rename is now applied everywhere — every in-app string that used to
> say the old name (page titles across `dashboard/pages/`, the login
> header in `dashboard/auth.py`, the PDF export title in
> `dashboard/report_utils.py`, `CHANGELOG.md`, `docs/`, `RUN_INSTRUCTIONS.md`,
> `dashboard/i18n/__init__.py`'s header comment) has been updated to
> "FootVision," and `tests/dashboard/test_auth.py`'s assertion on the
> login title was updated to match so it doesn't start failing. Re-ran the
> full suite after the rename (`MINIO_MOCK=1 pytest tests/ -q`): same
> 512 passed / 5 failed split as before the rename (see "Testing" below for
> what those 5 are) — confirms the rename itself didn't break anything.
---
## ⚠️ The `DECISION_DATE` constraint — read this first
This is arguably the single most important fact about this project's design,
so it's stated here instead of only being discoverable by reading code.
**The idea:** a squad-selection decision-support tool is only honest if every
number it shows reflects data that was actually available *as of the moment
the decision would have been made* — not data scraped afterwards, with the
benefit of hindsight. Morocco's real 26-man 2026 World Cup squad was
announced **2026-05-26** by head coach Mohamed Ouahbi. For this project's
Selection Audit module to mean anything as a genuine "would our scoring have
pic …