A website built for Team Fortress 2, a first person shooter by Valve, to show off in-game items.

TF2Gallery (in short: TF2G) was launched on November 25th, 2010. It was the perfect way to show off and test my knowledge of the web languages.


I struggled a lot with the entire process, and I ran into a lot of problems, but everything worked out in the end. It was fun to find solutions to problems you faced. For weeks I'd gotten stuck on how to properly save all the data and how to process them, only to find a simple solution later on. I was ecstatic. The design back then had a lot to improve upon, as shown in the image below.

First version of TF2Gallery

Working with OpenID and the Steam API proved to be very challenging. It was the solution to 'how do you get users to log in, without them registering for yet another account?'. Team Fortress 2 requires Steam, so almost anyone who is interested in Team Fortress 2 items, has a Steam account. Why not use that?

After implementing that, I found it to be very annoying that a session would merely last thirty minutes. How do you improve that? By keeping users logged in, by default. So, there had to be an auto log in function. This was harder than any other task I'd faced so far. But, I managed to work it out, and continue to use this exact function for a lot of my other projects.

Version 2 hugely improved both the front end and the back end. Users got, that's the vibe I received at least, better usability, and I had more of an overview of what was being submitted and how. I still had the manual queue because of user input. You can not and should not ever, ever trust user input. I still have pictures of random stuff in my queue, for example: a drawn cat that says "so lazy, can't move", and sloth sporting sunglasses. M'yeah.

V2 went live at August 21st, 2012. An early birthday present for myself. Basically the entire website was rebuilt from scratch, resulting in a lot of better techniques used. I plan to do a V3 sometime, using the knowledge I've gained in the meantime. Maybe, someday!