Many a night have I sat in a Discord channel on an evening, bereft of a video game to play. Too often we play the same game we played for all of the last week, for lack of options. But the whole world of gaming entertainment lies out there, and much of it in the average Joe's Steam library!

What it does

Steamy Matches lets you choose Steam friends that you want to play games with, then suggests games that everyone owns. For large groups, it may divide the group in two (or more), to find the multiplayer combination that includes the most people.

How we built it

We call the Steam API from a Python back-end. The front-end is Node.js.

Challenges we ran into

Determining what games are multiplayer is tricky but solvable with Steam's API. Working out how many players a game can support is harder, we scraped data from for as many games as we could and connected them to Steam games via their names. The speed of the API was also an issue, we do caching to speed up multiple uses, but selecting new users is slower than we'd like it to be.

Accomplishments that we're proud of

Actually putting together something usable in a very short period of time, considering we didn't have an idea at 10:00am this morning.

What we learned

  • James: Using flask and the Steam API.
  • Tom: Learned to use flask as a server and integrate it with React.
  • Chloe: I learned a lot about React and web dev in general.

What's next for Steamy Matches

User log-in, without it friends with non-public privacy settings can't be matched with.

Share this project: