Gaming Backlog
Gaming Backlog was a side project I built in 2020 to connect your Steam account and bulk-add games as cards to your Trello board.
I couldn't guarantee that using this would make your backlog any smaller, but it made for a very pretty-looking Trello board that you can stare at when you’re looking for something to play.
Troubles with authentication and Steam
This side project turned out to be a lot harder than I thought it would be (don’t they always). I was rendering everything in an iframe on the Trello board, but Steam authentication won’t run in an iframe (I assume for security reasons) so I had to pop open a new window, have the user authenticate, and then redirect back to the Trello board.
I detailed some of the authentication gotchas in another post here: Setting up Steam Authentication using OpenID
One of my biggest surprises is that authenticating with Steam doesn’t really grant you anything. It returns you the user’s SteamID, but this ID is public information that you can get from a Steam user’s profile. The only benefit it really provides is a “smooth” way of getting a user’s ID, instead of making them jump through hoops to get it for you. Unfortunately that also means when you call the Steam API to grab a user’s games, their profile needs to be public. Luckily most people seem to leave their profiles public by default, so I didn't think this would be too big of an issue.
Architecture
Everything that rendered on the Trello board was from a static site I hosted on Github Pages, while the authentication flow and the calling of the Steam APIs was handled by an Express.js app hosted on Heroku. I could have done this all on the one app, but to be honest I didn't really know what I was doing at the time (still don't!) so my Express.js code was probably poorly written and I wanted to keep what I could on Github Pages. I also didn't trust my free Heroku plan to give me 100% uptime, or to be very fast, so I split it out into two apps to try and mitigate this risk if it did go down.
What happened to it?
It did end up reaching the 1000+ installs milestone on Trello, which was pretty neat to see. However one of the main issues with the app was that the authentication step would sometimes fail or was a bit finicky, and would require you to be on a certain browser to get working. In hindsight, I didn't really need the authentication step, and I should have just gotten users to manually input their Steam ID.
Also, I was hosting it on Heroku's free tier - which is now gone, and when that disappeared this power-up stopped working. If you are curious, you can still view the code on Github.