YOUTUBE VIDEO : https://www.youtube.com/watch?v=WZ728Oxx-t4
Inspiration
Honestly, I got interested in this project because I realized how intense esports preparation is. In League of Legends, teams don’t just show up and play, coaches and analysts spend hours figuring out how the opponent thinks, what they draft, what lanes they play through, and what patterns they repeat.
But match data is huge, and turning it into something useful quickly is really hard.
So I wanted to build something that feels like an “assistant analyst” for a coaching staff, a tool that can take official match history and automatically generate a scouting report that’s actually readable and actionable before a game.
That idea became RiftScout, my submission for Category 2: Automated Scouting Report Generator.
What it does
RiftScout is basically a scouting report generator powered by official GRID esports data.
Given recent professional matches, it produces a coach-style report with things like:
Lane Alerts: which roles have dangerous comfort picks
Objective Tendencies: do they usually secure first dragon or first tower
Composition Reads: what kinds of comps they like playing (heavy engage, scaling, early skirmish, etc.)
How To Beat Them Insights: direct counterplay recommendations ranked by priority
The output is written in fast, game-facing language, because the whole point is that a coach should be able to skim it in 2 minutes and immediately know what matters.
Instead of just listing stats, it tries to answer:
“Okay… how do we actually beat them?”
How we built it
One of the biggest challenges was understanding how GRID’s ecosystem works.
It wasn’t just one simple API call, the pipeline required:
discovering series IDs through GraphQL
downloading end-state match files from the correct endpoints
handling schema differences across datasets
Another challenge was making sure the report generator wouldn’t break if some player-level fields were missing. RiftScout was designed to gracefully degrade, still producing team-wide insights even if champion or role data is incomplete.
Also, translating raw stats into something that feels like real coaching language was harder than expected. I didn’t want this to feel like an academic report, I wanted it to feel match-ready.
Challenges we ran into
Some things I’m genuinely proud of in this project:
Successfully integrating official GRID esports match data end-to-end
Building a working scouting report generator that runs in one command
Designing output that is coach-facing and actionable, not just statistics
Creating composition archetypes and win-condition style insights
Completing a stable offline pipeline suitable for hackathon judging and demos
Accomplishments that we're proud of
Some things I’m genuinely proud of in this project:
Successfully integrating official GRID esports match data end-to-end
Building a working scouting report generator that runs in one command
Designing output that is coach-facing and actionable, not just statistics
Creating composition archetypes and win-condition style insights
Completing a stable offline pipeline suitable for hackathon judging and demos
What we learned
This project taught me a lot about:
esports data pipelines and how professional match data is structured
working with GraphQL discovery + historical end-state ingestion
building analytics that focus on decision-making, not just numbers
writing modular code that can scale across teams and tournaments
Most importantly, I learned that the real value of data science is not producing stats, but turning them into strategy.
What's next for RiftScout
There’s a lot of room to expand RiftScout further, for example:
filtering reports for a specific opponent team name
deeper macro pattern extraction (rotations, objective setups)
draft pick/ban phase integration
a lightweight dashboard for coaches (Streamlit or web UI)
more advanced “how to win” recommendations using ML models
RiftScout is a starting point for automated esports scouting, and I’d love to keep improving it into a real coaching assistant tool.
Built With
- api
- graphql
- intellij-idea
- junie
- python
- requests
Log in or sign up for Devpost to join the conversation.