Project
SUBS
Smarter subs. Better second halves.
Motive
Why I Built This
In soccer, substitutions are one of the most impactful decisions a manager makes — yet they're often based on gut feel. SUBS was built to bring a data-informed lens to that decision, analyzing player performance during a match and recommending who should come off and who should come on.
Build
How I Built It
Written entirely in Rust, SUBS is a modular CLI tool with clear separation of concerns. It ingests StatsBomb open football match event data (JSON) and team lineups, then pipes that through a fatigue-scoring module (decay.rs) that computes per-player tiredness using activity decay metrics. A tactical analysis module (matcher.rs) detects performance gaps and positional vulnerabilities, and the recommendation engine maps bench players to the weakest on-field roles. Output is available as plain CLI text or a full-screen interactive terminal dashboard built with ratatui.
Stack
Tech Stack
Features
What It Does
Takes in match data and player performance metrics, then surfaces substitution recommendations to help a manager make better in-game decisions. Fatigue scores are computed per player, tactical vulnerabilities are identified, and the best available bench option is matched to each gap.
Roadmap
What's Next
Could integrate real-time match data feeds, expand to factor in opponent tactics, and build a visual dashboard for live match management.
Links