Inspiration

As a gamer, I've always felt that there was a gap in tools that bring people together using their gaming history. You can look up someone's rank or what games they play on a specific platform, but there is no fun in that. I wanted to create a shareable ecosystem that provided a way to instantly understand someone's preferences as a player. I wanted to build something that could make old friends laugh about the good old times and help make new ones connect.

What it does

Gamerpedia generates Ironic, Wikipedia-style articles about gamers like me using their real stats pulled straight from the Riot Games API (League of Legends) and the Steam API. Every number mentioned in the article is accurate data sources straight from the API, your rank, your games, and your play time. And in between the facts, Gemma 4 bridges it together in a hilarious dialogue. The end result is a shareable, searchable page that roasts you with the tone of an academic narrator. ElevenLabs can also read the article in that exact same tone in the single click of a button if you wish.

How I built it

  • The Frontend: is Next.js with a Wikipedia-style UI
  • The Backend: is powered by Flask REST API
  • The Database: uses PostgreSQL for persistent, searchable page storage
  • For text generation, I used Gemma 4: via the Google GenAI SDK, prompted to write dry Wikipedia-like text from raw stat data
  • For Text-to-speech: I used ElevenLabs for article narration in a specific tone
  • The API’s: I used were Riot Games API (League of Legends ranked stats, match history, champion data) and Steam Web API (owned games, playtime, recently played)

Challenges I ran into

  • Gemma 4 would hallucinate stats from older users onto new ones that didn't have the same kinds of data, showing game stats that didn't exist for certain users. I solved this by explicitly listing what data was and wasn't available at the time of the request.
  • Port 5000 was occupied by the macOS AirPlay Receiver, which was blocking my Flask form from deploying, which caused me to lose some time troubleshooting.
  • Next.js routing and special characters like # required for Riot tags caused some troubleshooting as well, as it would break the Riot API connection when it got parsed incorrectly. -The Riot API went down a couple of times during development, causing some downtime. ## Accomplishments that I'm proud of
  • The AI-generated wiki pages are genuinely funny to me, and I think that Gemma 4 ended up being a great fit for this project.
  • I'm proud that the generation is rather quick for how big the prompt is, alongside all the information it's given.
  • I think the Wikipedia-like UI fits perfectly and, if convincing enough, while not being a 1-to-1 copy.
  • The ElevenLabs turned out to be a super easy addition to my project, so I’m glad I added it, and it was a great fit to work with.
  • Overall, I really like how this project turned out, and I have already shown it to both technical and non-technical friends, and they have all enjoyed watching what it generates.

What I learned

  • I learned how to build a Flask and PostgreSQL backend from scratch quickly.
  • How to mitigate LLM hallucination by setting more restrictions within the prompt and by making it more aware of what data it's receiving, what it's not, and what it needs to do with that data.
  • Another thing I learned that was unexpected was how to keep track of a bunch of different API’s within the same project. I used 4 API’s for this project, and synchronizing them all to work together was an amazing learning experience.
  • Another crazy thing that I learned was that port conflicts with macOS system processes can definitely slow your hackathon down, and I had no clue that things like that would be placed on such common self-hosting ports.

What's next for Gamerpedia

The next steps for Gamerpedia would be account claiming, Valorant integration, more platform integrations, social features, and a full deployment that would be live to the public. For account claiming, I thought Auth0 could make some sense, and the idea would be that a person could claim the account that uses their own game stats, and it would let them change a few subtle areas. For Valorant, I really wanted it in this release, but the API is not publicly available from Riot, making it much trickier. I would love for way more platforms to be supported in the future, really expanding the whole ecosystem idea. And lastly, I think things like community voting or comments on the best profiles would be hilarious and a great addition.

Built With

Share this project:

Updates