Inspiration
Our inspiration came directly from our own experience as members of the Illinois Institute of Technology’s varsity League of Legends team.
As competitive players, we constantly review our games, analyze mistakes, and discuss strategy but that process takes hours and usually requires the assistance of our coach.
We realized that many other students and solo-queue players don’t have access to that level of feedback and the time to even review their own games.
That’s what sparked the idea for Oracle Lens, we wanted to build an AI that could break down your match data like a Challenger-level coach would identifying what went wrong, why it happened, and how to improve for the next game.
Our goal was simple: Make professional-style coaching accessible to everyone who loves League.
How we built it
We began by deciding what aspects of League of Legends matter most to the average player. We chose to focus on the laning phase, since it’s the foundation for every match and the phase most players struggle to analyze.
We first tested different AI models in the Amazon Bedrock playground, experimenting with prompt structure and response quality.
After testing, we selected Anthropic Claude 3.5 Sonnet for its reasoning strength.
We spent time prompt-engineering to craft instructions that made the AI respond like a Challenger-level coach which is concise, strategic, and personalized.
From there, we designed our AI pipeline: Take and parse match data from the user → Process and format the relevant stats → Inject them into the AI prompt → Send the request to Bedrock → Display the response to the player.
For the tech stack, we used HTML, CSS, and JavaScript for the frontend, Python for the backend, and Git for version control.
We used Python’s requests library to call the Riot League API and retrieve needed data.
That data is then injected into the AI prompt and sent to the Bedrock API for a response.
Once the pipeline was working, we moved to the web interface using Flask with HTML and Jinja templates.
We first built the homepage, which includes a player search bar, a dashboard that shows match history, and a review button for each match.
Then we built the review page, which displays the AI’s coaching response, and a leaderboard page, which ranks players based on their reviewed performance.
Finally, we implemented cookie caching to store each player’s summoner name and tag so the site loads faster on return visits.
Challenges we ran into
Our team has varying experience with the tech stack as it is our first time working with external APIs. We are first timing Flask we are not web designers have experience with python but never in this scale of backend
Accomplishments that we're proud of
Able to rapidly learn throughout this whole hackathon to present a working AI coach
The product we made can be used by ourselves and our friends as a tool to improve in laning phase.
Turning our personal experience into a meaningful tool. As collegiate players, it’s rewarding to see our own training struggles inspire a solution that can help the broader League community.
What we learned
How to integrate multiple APIs (Riot + AWS Bedrock) and transform raw JSON into meaningful coaching metrics.
The importance of prompt engineering tiny wording changes completely changed the quality of feedback.
What's next for Oracle Lens
Improve the website appearance Have a database like AWS dynamoDB as we are now replicating a database with json files Gamify the website such as gold earned from the reviewed games can turn into in web currency similar to discord's discord orb
Log in or sign up for Devpost to join the conversation.