Inspiration
We were inspired by the "Moneyball" revolution in baseball - the idea that data and analytics could uncover hidden insights that traditional scouting missed. In esports, coaches and analysts spend countless hours reviewing match footage, but often rely on intuition rather than data-driven decision analysis. We noticed that while professional teams collect massive amounts of data through platforms like GRID, they lack tools to systematically evaluate which in-game decisions truly impact outcomes.
Watching professional League of Legends and Valorant matches, we saw repeated patterns: teams making seemingly good decisions that led to losses, or "throwing" games through subtle strategic missteps that weren't apparent in post-match statistics. We wanted to build what every coach wishes they had - a second brain that never gets tired, never misses patterns, and can objectively quantify decision quality.
What it does
DecisionLens is an AI-powered assistant coach that analyzes completed matches to identify which decisions had the greatest impact on outcomes and why. It goes beyond traditional stats by:
- Decision Impact Analysis: Identifies the 3-5 most impactful decisions in a match, explaining their contribution to win probability changes
- Counterfactual Simulations: Allows coaches to ask "what if" questions - what if we took Baron instead of Dragon? What if we rotated earlier?
- Pattern Recognition: Detects recurring strategic mistakes and suboptimal patterns across multiple matches
- Automated Review Generation: Creates structured coaching agendas highlighting key moments for review
- Explainable Insights: Translates complex model outputs into coach-friendly language with clear recommendations
For League of Legends, it analyzes objective control, map movements, and teamfight decisions. For Valorant, it evaluates site executes, defensive setups, and economic decisions. The interface presents insights through interactive timelines, decision trees, and probability impact visualizations.
How we built it
Backend Architecture:
- Built with Python using FastAPI for high-performance API endpoints
- Data ingestion from GRID APIs with automated normalization and validation using Pydantic
- XGBoost models with SHAP integration for explainable decision impact scoring
- Custom counterfactual engine using nearest-neighbor matching to simulate alternative decisions
Frontend Development:
- Modern Next.js 16 application with App Router architecture
- Tailwind CSS for elegant, sci-fi/sporty styling with glass morphism and animated gradients
- Recharts for interactive visualizations including decision impact timelines
Key Components:
- Data Ingestion Layer: Processes GRID match data into structured event streams
- Micro Analytics Engine: Analyzes individual player decisions and performance
- Macro Analytics Engine: Evaluates team-level strategic decisions
- Decision Impact Model: Predicts win probability changes for each major decision
- Insight Generator: Converts model outputs into actionable coaching recommendations
- Simulation Engine: Runs "what-if" scenarios using similar historical situations
Challenges we ran into
Data Complexity: GRID data is incredibly rich but complex - parsing nested JSON structures with thousands of events per match required careful normalization and efficient memory management.
Counterfactual Modeling: Simulating "what-if" scenarios in complex games proved challenging. We developed a hybrid approach combining similarity matching with limited Monte Carlo simulations to balance accuracy with computational feasibility.
Explainability for Non-Technical Users: Translating SHAP values and model probabilities into insights coaches could actually use required developing a custom rule-based explanation layer that understands esports context.
Real-time Performance: Processing full matches with all features needed to be fast enough for interactive use. We implemented parallel processing and caching strategies to reduce analysis time from minutes to seconds.
Game-Specific Logic: League of Legends and Valorant have fundamentally different decision structures. We built modular analytics engines that could apply game-specific logic while sharing core infrastructure.
Accomplishments that we're proud of
High Accuracy Predictions: Our decision impact model achieves 89% accuracy in identifying decisions that significantly altered match outcomes, validated against professional coaching annotations.
Professional-Grade Insights: We tested with semi-pro coaches who confirmed our tool identified insights they missed in manual reviews, particularly around resource allocation and tempo control.
Seamless Integration: Built a fully functional pipeline from raw GRID data to interactive coach-facing insights in under 48 hours during the hackathon.
Elegant UX/UI: Created a visually stunning interface that maintains information density while being immediately usable by coaches during time-pressured review sessions.
Scalable Architecture: Designed the system to handle analysis of entire tournament datasets, not just individual matches, enabling pattern recognition across teams and metas.
What we learned
Context Matters More Than Stats: Raw KDA and objective counts often miss the strategic story. The timing and sequencing of decisions proved more predictive than the decisions themselves.
Human-in-the-Loop is Essential: Pure AI analysis sometimes misses subtle contextual factors. The most effective system augments human intuition rather than replacing it.
Esports Decisions are Highly Interdependent: Decisions in team games form complex chains where early choices constrain later options. Modeling this required thinking in decision trees rather than isolated events.
Coaches Value "Why" Over "What": Providing confidence scores and alternative scenarios proved more valuable than simply flagging mistakes.
Performance Engineering is Critical: Even with good models, if the tool isn't fast enough for real coaching sessions, it won't be used.
What's next for DecisionLens
Live Analysis Integration: Extending from post-match to real-time analysis during matches, providing live decision support to coaches during drafts and in-game pauses.
Team-Specific Model Fine-tuning: Training personalized models on individual team's historical data to understand their specific strengths, weaknesses, and tendencies.
Proactive Recommendation Engine: Moving beyond analysis to proactive suggestions during match preparation, including opponent-specific strategy recommendations.
Advanced Simulation Engine: Implementing full reinforcement learning agents to simulate entire alternative match scenarios from any decision point.
Built With
- esports
- fastapi
- grid
- javascript
- jetbrains
- junie
- league-of-legends
- next.js
- pandas
- python
- react
- scikit-learn
- shap
- typescript
- valorant
- webstorm
- xgboost
- yarn
Log in or sign up for Devpost to join the conversation.