Inspiration
In competitive VALORANT, coaches spend hours reviewing VODs and building spreadsheets to answer simple questions:
- "Where does aspas hold on Haven?"
- "What's their pistol round win condition?"
- "How do we exploit their weaknesses?"
We thought: What if AI could do this in seconds?
Inspired by Moneyball's data-driven approach to sports, we built ValoML — a tool that transforms raw match data into tactical intelligence that coaches actually need.
What it does
ValoML is an Automated Scouting Report Generator that:
🔍 Analyzes opponents — Processes 10-20 recent matches from GRID's official esports data
📊 Generates tactical reports — Map veto predictions, player threat profiles, weakness detection
🧠 Uses real ML — K-Means clustering classifies playstyles (e.g., "Aggressive Dual-Duelist" vs "Tactical Control")
💬 AI Chat Assistant — Ask tactical questions like "How do we beat Fnatic on Lotus?" and get data-backed answers
⚔️ Versus Mode — Head-to-head comparisons with win probability predictions
How we built it
Frontend: Next.js 14 with a military-style tactical HUD interface (Tailwind CSS, Framer Motion, Recharts)
Backend: FastAPI (Python) handling data processing, ML analysis, and API orchestration
Machine Learning:
- K-Means clustering on agent compositions to classify team playstyles
- Weakness scoring algorithm (0-100 exploitability index)
- Loss correlation analysis to identify defeat patterns
AI/LLM: Groq's Llama 3.3 70B for natural language report generation and tactical chat
MLOps: MLflow for experiment tracking, Prometheus + Grafana for production monitoring
Data: Official GRID Esports API with smart caching
Challenges we faced
GRID API Complexity — The JSON schemas are deeply nested. We built custom parsers to extract meaningful stats.
Sparse Data Handling — Not all teams have equal match history. We implemented fallback mechanisms and weighted scoring.
LLM Hallucination Prevention — We constrain Llama with structured prompts and validate outputs against real data.
Real-time Performance — Generating reports in ~15 seconds required aggressive caching and async processing.
What we learned
- How to build production-grade ML pipelines with proper experiment tracking
- The importance of data quality over model complexity
- That esports analytics is a goldmine for applied AI
What's next for ValoML
- 🎯 Real-time live match integration
- 📈 Time-series analysis for form prediction
- 🌐 Expansion to League of Legends using GRID's LoL data
Built With
- docker
- grafana
- groq
- mlflow
- nextjs
- python
- react
- scikit-learn
Log in or sign up for Devpost to join the conversation.