Inspiration
We watched a coach lose a championship series, then heard him say in the post-game interview: "I thought we should have contested that Baron."
He thought. He didn't know.
In professional League of Legends, coaches have exactly 5 minutes between games to process 40 minutes of chaos. In that high-pressure window, the human brain cannot objectively parse thousands of data points. They are drowning in data but starving for insight.
We built AXIOM to replace "I think" with "the data proves"—to help coaches make informed decisions.
What it does
AXIOM is a Systemic Cognitive Engine that transforms raw GRID Esports telemetry into actionable strategic intelligence in seconds. It is designed to win the "5-Minute Gap."
- The War Room: Before the coach even takes off their headset, AXIOM generates a 30-second voice briefing identifying the systemic cause of the loss, ranking critical moments by impact, and suggesting draft adjustments.
- The Evidence Engine: Using a K-Nearest Neighbors (KNN) model, it compares your specific game state against 828,000+ pro game events. It replaces opinion with precedent: "Contesting here had a 22% success rate. Conceding was optimal 75% of the time."
- Draft Scouting: Automated intelligence on opponent ban tendencies, signature picks, and comfort pools—spoken aloud so coaches can keep their eyes on their players.
- The Film Room: A forensic timeline powered by our win-probability model, visualizing every momentum swing to pinpoint exactly where the game was lost.
It doesn't just show you what happened. It tells you why it mattered and what to do next.
How we built it
We engineered a high-velocity data pipeline capable of sub-second inference:
- Data Pipeline: We ingested 828,000+ game events and 8,900+ player records from the GRID Esports API, flattening deeply nested JSON structures into optimized Apache Parquet files for lightning-fast columnar retrieval.
- Evidence Engine: We built a custom K-Nearest Neighbors (KNN) algorithm using
scikit-learn. It indexes historical moments based on gold differential, objective status, towers, and game time to find statistically significant precedents. - AI Layer: We integrated Google Gemini 1.5 Flash to serve as the reasoning layer, converting complex game states into natural language coaching advice and powering our conversational "AI Scout."
- Backend: A robust FastAPI (Python) service layer orchestrates the real-time analysis.
- Frontend: A responsive Next.js 16 interface built with Tailwind CSS—specifically designed for "scannability" because every second counts in the booth.
- Development: JetBrains Junie acted as our force multiplier, accelerating our coding workflow and helping us ship a production-grade ML application in a single sprint.
Challenges we ran into
- Data Scale vs. Speed: 828,000 events don't query themselves. Our initial SQL queries were too slow for the 5-minute window. We solved this by building a custom ETL pipeline to transform GRID data into optimized Parquet files, cutting query time from minutes to milliseconds.
- Defining "Similarity": What makes two game moments comparable? Is it gold difference? Vision score? We iterated extensively on our feature vectors to ensure the "What-If" analysis felt intuitively accurate to high-Elo players, not just statistically valid.
- The 5-Minute Constraint: Every feature had to pass one test: "Can a coach use this with a racing heartbeat in under 300 seconds?" This forced us to kill several "cool" features that were too complex, leaving only the high-signal tools that matter.
Accomplishments that we're proud of
- The Evidence Engine Works. Seeing the system output "22% vs 75%" for a real dragon contest—backed by 34 actual professional matches—felt like magic. It proves that strategy can be engineered.
- Voice-First Design. We realized coaches need their eyes on their players, not on screens. Our spoken scouting reports and War Room briefings solve a genuine human workflow problem.
- Sub-Second Queries. Turning a massive dataset into instant responses was a huge engineering hurdle. The Parquet pipeline made the application feel "live."
- Military-Grade UX. We didn't want a spreadsheet. We wanted a piece of tactical hardware. The interface looks and feels like it belongs in a professional booth.
What we learned
- Domain matters more than code. Understanding why a coach needs information in 30 seconds shaped every technical decision we made.
- KNN is underrated. Everyone reaches for neural networks, but sometimes the right algorithm is simpler and more explainable. Coaches trust "based on 34 similar matches" far more than black-box probabilities.
- Voice changes everything. Adding text-to-speech wasn't just a feature—it was a philosophy shift. Designing for hands-free, eyes-up usage completely changed how we structured the data.
- Constraints breed creativity. The 5-minute window forced us to cut scope ruthlessly. What survived is genuinely useful.
What's next for AXIOM
- Next: Live Ingestion — Moving from post-game analysis to a real-time War Room that updates during the match.
- Soon: Multi-Title Support — Adapting our Parquet schema to ingest VALORANT telemetry.
- Future: Private Scrim Uploads — Allowing teams to upload their own scrim data to train the model on their specific playstyle.
Built With
- apache-parquet
- css3
- fastapi
- google-gemini
- grid-esports-api
- jetbrains-junie
- knn
- next.js
- python
- scikit-learn
- tailwind
- typescript

Log in or sign up for Devpost to join the conversation.