Rift Rewind

Inspiration

From late-night flex queues with friends to solo-queue sadness and sorrow, League has been our shared space for competition and entertainment. Rift Rewind was born from that — we wanted to take the raw data behind a year of games and turn it into something meaningful: a personal reflection on how we played and had fun.

Rift Rewind is a year-in-review for League players — part data visualization, part coaching, and part celebration. It highlights progress, exposes habits, and surfaces the next steps for improvement.


What It Does

  • Fetches a player’s past-year match history via Riot ID to create a complete season recap: win rate, KDA, CS/min, damage/min, vision, role/champion trends, monthly activity, and more.
  • Categorizes your champion pool into tiers — comfort picks, situational champs, and the “dodge list” — based on performance data.
  • Reconstructs full item journeys (start → mid → final builds) from timeline data to show how builds evolve over a game.
  • Delivers an AI-powered “roast-but-helpful” breakdown — direct, constructive feedback focused on fundamentals for your main role.
  • Features a contextual chatbot (“Ryze”) that answers questions using your own stats and insights.

How We Built It

  • Backend: Python + Flask providing endpoints for player lookup, stats, analysis, and chat, with CORS-enabled frontend access.
  • Riot API: Used for account lookup, match data, and timelines, with rate-limit-aware fetching and pagination for year-wide coverage.
  • Analytics: Custom processors compute per-minute metrics, role distribution, vision control, item usage, and champion pool stats.
  • AI Insights: AWS Bedrock (Claude 3.5 Sonnet) transforms stats into a rank-agnostic, role-aware coaching narrative and powers the chat.
  • Frontend: React app guiding users from Riot ID entry to a full recap experience.
  • Infra & Config: Environment variables, custom item mapping, and tightly scoped prompt design to keep advice clear, actionable, and positive.

Challenges We Ran Into

  • Timeline data is massive and inconsistent; we had to selectively fetch and stitch snapshots without breaching Riot’s API limits.
  • Rank data gaps meant designing rank-agnostic insights benchmarked by role and performance metrics instead of titles.
  • Finding the right tone and deciding what players actually care about took iteration, reflection, and prompt refinement.

Accomplishments We’re Proud Of

  • Turning raw match and timeline data into personalized, story-driven summaries that feel relevant and motivating.
  • Building item-journey reconstruction to surface build patterns through game phases.
  • Creating a coach that references real metrics — CS/min, KP, vision pace, champion pool — for specific, data-backed feedback.
  • Delivering a seamless flow from Riot ID → recap → insights → chat.

What’s Next

  • Teammate-aware insights: duo synergy, lane partner impact, and objective control heatmaps.
  • Patch-aware analysis: adjusting commentary as metas shift.
  • Playstyle clustering: mapping users to archetypes (skirmisher, control mage, enchanter, etc.) for tailored advice.
  • Shareable recaps: visual cards and year-over-year progress tracking.

Tech Stack

  • Backend: Python, Flask, Requests, python-dotenv
  • Data: Riot Match/Timeline APIs, custom analytics
  • AI: AWS Bedrock (Claude 3.5 Sonnet)
  • Frontend: React
  • Hosting: rift-rewind-kohl.vercel.app

Why We Built It

Because we love the game, and an opportunity to build something for it is was just too good to pass up


Try It Out

👉 Live Demo on Vercel


License

This project is licensed under the MIT License.


Built With

Share this project:

Updates