$ cd ..

Ranked Choice Voting for Game of the Month

đź“… 2025-02-27

⌛ 13 days ago


The PatientGamers Discord server has, over the years, become my favorite space to discuss games. I love the ethos, you may only ever play games older than 1 year. Paired with a Steam Deck, I’ve been breezing through my backlog.

Beyond just the discussions, one of the highlights of the server is our monthly Game of the Month (GOTM) vote. It’s a ton of fun, and everyone gets really invested in it. I recently took over maintaining the project’s site and decided to re-write the PHP codebase into something I’m more familiar with.

How does it work?

PG GOTM History

Why rewrite?

I’ve been participating in the GOTM for years now. During this time, it was all managed by @sneakingj and I would make the occasional PR to the PHP site whenever something needed to be changed. After nearly 7 years of running GOTM, @sneakingj decided to take a step back and I volunteered to take over maintaining the site.

While the original PHP site worked well, maintaining and iterating on it wasn’t as efficient for me. I now place immense value on prototyping speed and the ability to quickly make changes that I need. My tooling and familiarity with a stack that I’m familiar with gives me infinite flexibility. Unfortunately, I did not get the time to build that up with PHP.

My ideal web-dev stack

I would’ve considered using SQLite but the previous PHP site’s MySQL database was so well maintained I never saw the need to shift.

Rebirth

One of my favourite things about working with React is the ecosystem. Just off of the top of my head:

With this stack and a little help from Copilot, I’m able to make changes and whip up brand new features in minutes. I thrive on the dopamine hit of shipping features fast, and this setup lets me do exactly that.

PG GOTM Discord

Here are a few screenshots of the site:

PG GOTM Nominations PG GOTM Results

You can visit the site here.

Plans

For now, I’m happy with how the site is running, but there are a few small tweaks I’d love to explore. I think we’re quite happy with how it is right now. A few things I might change:

As always, everything is open to feedback and pull requests. You can find the source code on GitHub.

This was an incredibly fun project to work on for a community that I really enjoy and cherish.