League of Legends Data Intelligence Project
π― Inspiration
- Inspired by Spotify Wrapped, providing fun and shareable yearly summaries.
- Drew from Op.ggβs match analysis and competitive LCS-style stats highlights.
- Goal: combine entertainment with deep, data-driven insights for League of Legends players.
π§© What It Does
-
1. Wrapped Up:
Generates a personalized yearly summary for each player:- Total kills, deaths, assists, pentakills
- Most played champions
- KDA, win rate, and highlight stats
- Ends with a shareable stat card
-
2. Coaching-Oriented Game Analysis:
- Breaks each match into early, mid, and late game phases.
- Focuses on mechanical skills early, macro decisions mid/late.
- Uses an LLM-powered coaching agent to detect strengths and weaknesses.
- Compares player performance to benchmarks from Diamond & Master-ranked players and other players in the match.
-
3. Yearly Evolution Tracking:
- Tracks player progress over time through key metrics (KDA, damage, deaths).
- Focused on top 10 most-played champions.
- Displays progressive KPI evolution to show improvement month by month.
ποΈ How We Built It
-
Infrastructure:
- AWS Lambda for data ingestion, processing, and analysis.
- AWS S3 for structured data storage and fast retrieval.
- AWS Bedrock for contextualizing and interpreting data efficiently.
- IAM roles for fine-grained access control.
-
Languages & Tools:
- Python (data processing, API interaction, analytics)
- CSS & JS (frontend)
- Riot Games API (player and match data collection)
- boto3 for AWS interactions
- Pandas & NumPy for data manipulation
- Matplotlib / Seaborn for visualization (internal tests)
-
Architecture Philosophy:
- Provide micro-level analysis for each match (actionable insights).
- Maintain macro-level tracking of yearly progression.
- Designed for scalability, low-cost operations, and automation via event-driven design.
βοΈ Challenges We Faced
- Limited API quotas and LLM request budgets caused slower processing.
- Complex data cleaning and feature engineering.
- Budget constraints prevented us from using Aurora or SageMaker.
- Time limitations restricted deeper analysis (e.g., map control, vision data, jungle pathing).
π Accomplishments
- Built a robust, structured data pipeline from scratch.
- Created clear, reliable KPIs for real coaching insights.
- Designed a clean, intuitive user experience for data visualization.
- Enabled context-aware analysis, not just number-based evaluation.
- Built a nice Summonner card easy to share
π§ What We Learned
- Learned to contextualize LLMs, making them analyze patterns and player behaviors, not just raw stats.
- Understood the value of clean, structured data for consistent AI output.
- Gained strong experience with AWS service integration and IAM management.
- Reinforced our ability to build scalable, event-driven analytics systems.
π Methodology
- Uses Riot API data, cleaned and structured into minimal datasets.
- Stored in S3 buckets for efficient LLM access.
- Compares player data with Diamond/Master reference metrics to evaluate relative performance.
- Analyzes performance by game phase (early/mid/late) to produce:
- Global rating
- Champion-specific rating
- Phase-based actionable advice
- Provides concrete coaching suggestions that can be applied in the next games.
- Each month, generates a detailed summary of KPI progression and behavioral improvements.
π Whatβs Next
- Deepen analysis with behavioral event detection (bad duels, poor map control, etc.).
- Use a service account + EC2 instance to record key gameplay moments tied to detected mistakes.
- Improve contextual coaching to go beyond stats, helping players understand why errors happen.
- Enhance champion-specific metrics to adapt recommendations per champion, role, and playstyle.
- Add gamification (score comparisons, ranking among friends).