-
-
User only needs to provide Region, Tagline and Game name and it will be able to retrieve all of its info
-
this is the information of a specific match the user participated in
-
Small intro to the web app
-
A list of all the matches the user has participated from most recent to oldest
-
Prediction section in which the user can check the likelihood of a team composition winning chance
-
Game assets simply provides the user with the information of champions and items provided by Riot API
-
General performance analysis of the user, several other sections are not visible but its very complete
-
Dashboard the user will see
-
The chatbox with the integrated AI where the user can make inquiries, it is available in every page of the web app
Project Story: Rift Rewind
Inspiration
I wanted to create an AI-powered League of Legends coach after experiencing the frustration of tracking performance manually. League is a complex game, and small mistakes can decide a match, so I envisioned a tool that could automatically analyze gameplay and provide actionable insights. Advances in AI, particularly Google Gemini, made it possible to build a context-aware assistant that acts like a personal mentor.
What it does
Rift Rewind helps players improve their gameplay by providing:
- Detailed performance analysis: champion mastery, runes, spells, and match stats.
- Match predictions: AI-powered forecasts based on team composition and historical data.
- Game assets exploration: champion and item databases with stats and abilities.
- AI Assistant: a context-aware chatbot giving page-specific advice and guidance.
- Team builder: helps plan 5v5 team compositions with predicted win probabilities.
Mathematically, some predictions rely on models like:
[ \text{Win Probability} = f(\text{Team Composition}, \text{Champion Stats}, \text{Player Performance}) ]
How we built it
- Frontend: React 18 + TypeScript + Vite for speed and responsive UI. Dashboards, match visualizations, and the AI assistant with Markdown/typewriter effect were implemented here.
- Backend: FastAPI + Python, integrated Riot Games API for match and player data, Google Gemini AI for predictions, and a custom caching system to reduce API calls.
- AI Assistant: Context-aware chatbot with conversation memory per page, Markdown support, and logging for debugging.
Challenges we ran into
- Champion name resolution: Many names have special characters (e.g., “Cho’Gath”). Implemented a smart retry system.
- API rate limits: Riot API limits required caching and batching requests.
- AI response relevance: Initially generic; improved by using page context and user action tracking.
- Data synchronization: Maintaining consistency between frontend and backend for live match data.
Accomplishments that we're proud of
- Developed a fully functional AI-powered coach that can analyze gameplay and make predictions.
- Built a context-aware chatbot capable of giving meaningful guidance.
- Implemented a robust caching system to optimize API usage and performance.
- Successfully integrated multiple APIs (Riot Games + Google Gemini) into a cohesive platform.
What we learned
- Importance of user-centric design and data-driven insights.
- Handling asynchronous data and caching for real-time applications.
- How to integrate AI models effectively into a web application.
- Experience with both frontend (React/TypeScript) and backend (FastAPI/Python) development.
What's next for Lol Coach
- Real-time coaching during live matches.
- Deeper statistical models and analytics, e.g., expected value per action.
- Community features for sharing strategies and insights.
- Continuous AI improvement for more personalized and actionable coaching.
##NOTES
- Since Backend is currently deployed on Render, if it is "Asleep" it might take some time to wake up to its full capacity, but once it does, there shouldn't be any tiemout problems with the backend
Built With
- amazon-web-services
- api
- docker
- fullstack
- gemini
- python
- react
- render
- restapi
- serverless
- typescript
Log in or sign up for Devpost to join the conversation.