Inspiration
We wanted to recreate the magic of a “year-in-review” experience like Spotify Wrapped for League of Legends players—a polished, personalized snapshot of your season. LoL Wrapped
What it does
LoL Wrapped fetches your match history (up to ~100 games), computes 200+ statistics (KDA, win rates, temporal patterns), uses AI to generate insights and natural-language commentary, and lets you chat with your data in natural language. LoL Wrapped
How we built it
Frontend: Astro + React + TypeScript + Tailwind, deployed via AWS Amplify. LoL Wrapped
API layer: AWS AppSync (GraphQL) for client interactions, backed by AWS Lambda (Python) functions for data collection & processing. LoL Wrapped
Database: Amazon DynamoDB for fast, scalable storage of Wrapped data. LoL Wrapped
AI & analytics: Amazon Bedrock (Claude 4.5) for insights, an MCP server for exposing APIs to AI agents, and vector embeddings stored in S3 for conversational retrieval. LoL Wrapped
Challenges we ran into
Respecting the rate limits of the Riot Games API (20 req/s, 100 req/2 min) required intelligent request batching and back-off mechanisms. LoL Wrapped
Ensuring users didn’t face long waits: implemented status tracking, polling via GraphQL subscriptions to show progress while processing matches. LoL Wrapped
Cost control at scale: by using serverless architecture we kept idle costs near zero and scaled automatically with traffic. LoL Wrapped
Accomplishments that we’re proud of
Sub-2 minute processing end-to-end: from submission to ready Wrapped in ~90 seconds. LoL Wrapped
Seamless conversational interface: players can ask in plain language (“Which champion did I win most with?”) and get contextual responses based on their own game data. LoL Wrapped
What we learned
Building a fluid data-AI-UX pipeline is feasible with serverless tools all the way through.
Interactive retrieval of user-specific data via vector embeddings + retrieval-augmented generation makes analytics much more engaging.
Situations like API limits and workload spikes benefit greatly from event-driven and auto-scaling designs.
What’s next for LoL Wrapped
Expand the conversational agent’s capabilities to offer coaching-style insights (“Train to improve X metric”)
Add cross-player comparisons and friend leaderboards
Integrate additional games beyond League of Legends
Offer seasonal or challenge-based modes where achievements unlock custom visuals
Log in or sign up for Devpost to join the conversation.