Inspiration

For the base idea of our project, we were inspired by the various MBTI tests online, such as on 16personalities, and thought it would be fun to apply the concept to League playstyles.

What it does

Our project utilizes the Riot API, along with AWS Bedrock, to generate an MBTI personality type for the user based on how they played League of Legends throughout 2025. It ingests all of their matches throughout the year and extracts statistics such as KDA, vision score, gold gained, and objective control to identify behavioral patterns. Given these, it also matches the user with various playstyle traits that we created if they stand out in any particular fields, such as being an amazing split pusher (low kill participation + high tower damage), or high risk high reward player (high average kills + high average deaths).

How we built it

Our frontend was built with Next.js and deployed on Vercel, while our backend is running entirely on AWS, using Lambda to run our various functions, S3 to store player data, and SQS to efficiently process every match throughout the year. Once processed, match data is uploaded to S3, which triggers a Lambda that aggregates and parses every Summoner's Rift game by batch, extracting relevant statistics as well as matching the player to various playstyle traits. This data is then uploaded to S3, which triggers a final Lambda to invoke Claude Haiku 4.5 for the final MBTI generation.

Challenges we ran into

One of the largest issues we ran into was processing the large amount of data that comes with a player's year-long match history. We had to design a system that could efficiently process every match, while still staying within various rate limits (Riot API rate limits, as well as Bedrock and Lambda's rate limits). Additionally, working with AWS had quite a learning curve, so it was challenging for us to coordinate its various services to work smoothly together.

Accomplishments that we're proud of

We're proud of being able to combine large-scale quantitative metrics with an LLM-based narrative output that provides insights into real personality traits. Using our custom traits-based system to guide the AI model's response also elevates the final product, as the extra context provided a more personalized result. Additionally, we designed a front-end with clean UX and data visualization, bringing the player's results to life with charts, customized summaries, and role icons. Finally, a lot of the team had very little exposure to League, so they got to learn a bit more about the game and its player culture!

What we learned

We learned a lot about working with AWS for various tasks, including processing large batches of information at a time, and using prompt engineering with Bedrock to generate useful data that we can work with.

What's next for League MBTI Personality Analyzer

It would be nice to have more playstyle traits for larger coverage of different playstyles, as well as using Riot's match timeline endpoint to get more detailed information on how the user plays. Additionally, having a system to compare personality types with friends would elevate the experience.

Built With

Share this project:

Updates