Inspiration

I've been playing League on and off since 2012, so a lot of my inspiration came from my knowledge of the game and what would help me get out of Silver league :). I've also discussed it with my League playing friends and asked a few twitch streamers what they would like to see. I've gotten a lot of fun suggestions, some of which made it into the rewind, for example a reminder about pentakills or at least quadrakills.

What it does

After you put your riot id and choose the region (if possible it tries to auto-guess the region by the tag) it gets your recent matches and their timeline data. IT does this "slowly" to prevent the rate limit of the League API. It first gets about 75 games and shows initial data while continuing to get game data till the end of the year. It then runs the Analysis engine that has a variety of heuristics and AI analysis. Partial list:

  • Basic stats like most played champion, time played, etc
  • Basic social analysis - who did you lose to the most, who you played with the most
  • Interesting data analysis - the biggest comeback game you had, did you win with an AFK in your team, etc
  • AI (AWS Bedrock) based summary, roast, and suggestions for new champions to try.

In the ward vision analysis you'll also see a button to take you to a minigame that helps you remember to use your wards while also "last hitting" and trying to ping enemies. It's a fun game to focus on these skills in stress free environment without 4 other people screaming at you in chat :)

How we built it

I started with a POC to test and understand the League APIs, the data it has and how to store, cache and analyze it. It turned into the flask backend, added a simple UI inspired by the gold League logo colors. Then worked on adding more computations, interesting features and different presentations modes. At one point there was an experimental mode that shows this on the Rift map and where dragon pit is the roast function, but it was scrapped for the minigame.

Challenges we ran into

  1. A huge challenge is the ratelimits of the League API. I've applied for an app a few days ago but still no answer, so I'm stuck with an API key with low rate limits that needs to be babied to prevent rate limit errors.

  2. I've tried to integrate bedrock knowledge base with league data but had a lot of issues with it: a. Web scraper feature didn't work at all, keeps failing due to hitting the 25000 page limit for scrape but looking at logs it barely has 2000 pages. The AWS Console UI also gets stuck not allowing a resync. b. Then I manually uploaded HTML documents from OP.GG. Claude Sonnet 4.5 couldn't parse simple data from the page, and also had different results from running in the "test knowledge base" console vs locally using boto3 retrieve_and_generate functions. Shame, this could have been a great feature.

Accomplishments that we're proud of

I'm proud that I've accomplished this great site even though I started late (7 days from the deadline). I love the minigame for Vision/CS/Pings.

What we learned

Learned a lot about the League api, bedrock knowledge base (unfortunately only ways in which it fails :)).

What's next for riftwind

The hackathon says "You are stepping into the role of an AI solutions developer", so as that, I would do extensive user testing with actual players to see which info is fun, which is meh etc. As Michael who participated for fun I have different answers for what's next:

  1. Add more mini-games, for example quizzing you if you know your second most played champion, etc (Actually I've done that basically in the last hour of hackathon)
  2. Calculate even better more interesting and meme-y stats async with the fetched data.
  3. Go to the League of Legends World Finals with my 3 friends from winning first prize :)

Built With

Share this project:

Updates