Inspiration

Built for the AWS + Riot Games Rift Rewind hackathon. League players often lack a clear view of their year-long journey. We wanted to create a year-end report that celebrates achievements and provides actionable insights by comparing wins and losses to identify what drives success.

What it does

Rift Rewind is a year-end report that analyzes a player's League of Legends season. It compares metrics between wins and losses to highlight what leads to victories. The report includes: Season Overview: KDA, total games, gold earned, damage dealt AI-Powered Insights: Personalized analysis using AWS Bedrock that explains winning patterns Champion Performance: Top champions with KDA and playtime Matchup Analysis: Best matchups and strongest positions Vision Control: Vision score, wards placed/killed by position Objective Control: Baron, Dragon, Rift Herald, and Scuttle Crab statistics KDA Trends: Performance trends across most-played champions Multikill Achievements: Double, triple, quadra, and penta kills Player Comparison: Side-by-side comparison with friends Shareable Reports: Export and share year-end summaries

How we built it

Frontend: Next.js 15 with TypeScript, Tailwind CSS, and Recharts for visualizations Data Processing: Custom utilities to aggregate match data from the Riot Games API, with automatic pagination to fetch full-year match histories AI Integration: AWS Bedrock with Qwen model to generate personalized insights by comparing win/loss statistics Rate Limiting: Custom rate limiter using Bottleneck to handle Riot API constraints Data Structure: Organized match data by wins/losses, champions, positions, and matchups for efficient analysis

Challenges we ran into

Riot API Rate Limiting: Implemented a rate limiter to stay within API constraints while fetching large match histories Data Aggregation Complexity: Built a system to aggregate stats across wins/losses, champions, positions, and matchups Win/Loss Analysis: Designed comparison logic to identify differences between winning and losing games AI Prompt Engineering: Structured prompts to generate concise, data-driven insights that highlight winning factors Large Dataset Processing: Handled processing of full-year match data efficiently

Accomplishments that we're proud of

Comprehensive Analysis System: Aggregates 30+ metrics across multiple dimensions (champions, positions, matchups) AI-Powered Personalization: Generates personalized insights that explain what makes each player successful Beautiful Visualizations: Interactive charts showing performance trends, objective control, and vision statistics Win/Loss Comparison: Core feature that compares metrics between wins and losses to identify winning patterns Player Comparison Feature: Side-by-side comparison to see how playstyles differ Shareable Reports: Export functionality to share year-end summaries

What we learned

Riot Games API Integration: Working with Riot's API endpoints, rate limits, and data structures AWS Bedrock: Integrating AWS Bedrock for AI-powered content generation Data Aggregation Patterns: Efficiently processing and organizing large datasets for analysis Win/Loss Analysis Techniques: Identifying meaningful differences between winning and losing performances Type-Safe API Design: Using tRPC for end-to-end type safety between frontend and backend

What's next for Rift Rewind

Dynamic Data Fetching: Move from static demo data to real-time fetching from Riot API (Requires a different type of API key with higher cap on rate limit) Enhanced AI Insights: Expand AI analysis to cover more gameplay patterns and improvement suggestions Export Features: PDF/image export for easy sharing on social media Community Features: Leaderboards and community comparisons Mobile Optimization: Responsive design improvements for mobile viewing

Built With

Share this project:

Updates