Rift Rewind: AI-Powered League of Legends Year-in-Review
Inspiration
Every year, millions of users eagerly await Spotify Wrapped to see their personalized listening statistics. I wanted to bring that same excitement and sense of accomplishment to the League of Legends community. Players invest hundreds of hours into improving their skills, but they rarely get a chance to step back and see the full picture of their growth, habits, and achievements throughout the year.
What it does
Rift Rewind is a Discord bot that generates personalized year-end recaps for League of Legends players. Simply type !wrapped [username]#[tag] and the bot:
- Fetches all 2025 matches from Riot's API
- Analyzes win rates, top champions, main roles, and KDA statistics
- Uses AWS Bedrock AI (Claude 3 Haiku) to generate personalized coaching insights
- Delivers encouraging feedback on playstyle strengths and specific improvement areas
- Caches data in DynamoDB for instant repeat lookups
How I built it
Technical Architecture:
- Frontend: Discord.py bot framework for seamless user interaction
- Data Layer: Riot Games API for match history and detailed game statistics
- Caching: AWS DynamoDB stores processed match data, reducing API calls by 100% on repeat queries
- AI Engine: AWS Bedrock (Claude 3 Haiku) analyzes aggregated statistics and generates personalized coaching narratives
- Infrastructure: Python 3.11 with async processing for handling concurrent requests
Data Pipeline:
- User submits Discord command
- Bot fetches match IDs from Riot API (with 2025 timestamp filtering)
- Match details are retrieved and cached in DynamoDB
- Statistics are aggregated (champions, roles, KDA, win rates)
- Data is sent to AWS Bedrock with carefully crafted prompts
- AI generates personalized insights focusing on strengths and growth areas
- Results are formatted into Discord embeds and delivered to the user
Challenges I ran into
Rate Limiting: Riot's API restricts requests to 100 per 2 minutes. For players with 500+ matches, this could mean 10+ minute wait times. I implemented intelligent caching with DynamoDB, reducing subsequent lookups to milliseconds and minimizing API calls.
Prompt Engineering: Getting AI to generate genuinely helpful coaching advice (rather than generic feedback) required extensive iteration. I structured prompts to include specific statistics and request actionable recommendations, resulting in personalized insights that players actually find valuable.
Data Processing at Scale: Extracting meaningful patterns from raw match data required careful aggregation across multiple dimensions (champions, roles, time periods) while maintaining performance.
Async Architecture: Managing concurrent API calls, database operations, and Discord interactions required proper async/await patterns to prevent blocking and ensure responsive user experience.
Accomplishments that I'm proud of
- Built a fully functional AI-powered application in under 2 weeks
- Successfully integrated 3 AWS services (Bedrock, DynamoDB, CloudWatch) with external APIs
- Achieved 100% cache hit rate on repeat queries, making the bot lightning-fast for returning users
- Created AI prompts that generate genuinely encouraging and actionable coaching insights
- Designed a clean, intuitive Discord interface that makes complex data accessible
What I learned
- AWS Bedrock Integration: How to structure prompts for optimal AI responses and manage inference costs
- DynamoDB Best Practices: Effective key design for caching strategies and fast lookups
- API Rate Limiting: Strategies for handling external API constraints with pagination and intelligent caching
- Async Python: Proper patterns for concurrent operations in bot frameworks
- User Experience Design: How to present complex statistics in digestible, meaningful ways
What's next for Rift Rewind
- Monthly Breakdowns: Show progression trends across the year
- Champion-Specific Tips: Deeper AI analysis for each champion played
- Comparative Analytics: Compare performance to rank averages
- Team Analysis: Generate insights for premade groups
- Multi-Game Support: Expand to TFT and Valorant
- Web Dashboard: Shareable wrapped summaries with visualizations
Built With
- amazon-web-services
- aws-bedrock
- aws-dynamodb
- boto3
- claude-ai
- discord
- discord.py
- python
- riot-games
Log in or sign up for Devpost to join the conversation.