← All posts

My First Website Project

28 August 2020

I'm finally getting around to working on my website, a task that's been on my to-do list for probably about a year now (while I'm writing this, I still haven't finished this website). But I've been busy with some other projects over the past year, so I think I made good use of my time up until now. The biggest of those projects was another website, BanjoSpeedruns.com, which was a great experience and prepared me significantly for working on my personal website, even though this one is comparably a lot smaller in scale. The BanjoSpeedruns project took about three months in total, and I gained a lot of relevant experience working on and leading that project.

To provide some background on the motivation for and purpose of that site, I had been a member of the Banjo-Kazooie speedrunning community for a few years, and the lack of a community website was part of my motivation for taking up such a project. The community has collectively put in a lot of work building a big library of resources for speedrunning the games, like learning tools, tutorials, etc. I wanted to be a part of creating a solid go-to resource for new community members that served as a compendium of all of our established resources, centralizing them and bringing them together into one concise website. I also saw it as a good opportunity for gaining experience in web design and project management, not to mention it was a good way to build my portfolio and add to my GitHub repositories.

I was able to develop a nice baseline of skills in HTML, CSS, and JavaScript. In retrospect, the JavaScript portion ended up being a lot more crucial to the framework of the site than I had originally anticipated. The basic idea behind the site is that it's separated first by game, and within each game's section, there is a list of links that redirect you to the individual level pages for that game. The JavaScript behind the scenes works to 1. determine which level to load based on the URL selected, 2. find the corresponding JSON file containing the relevant information for that level, and 3. auto-generate an HTML document according to a template page, injecting the necessary JSON data.

I'm grateful to the Banjo speedrunning community members who helped me with the project. I worked in a small team of about six, and it was my first experience leading a team and managing a project. I created documentation and templates which I presented to the team in order to explain my vision, and we worked collaboratively to come up with new ideas for the site's direction as we went along. A nice bonus to this being my first collaborative large-scale project is that it also allowed me to gain expereince managing pull requests on GitHub and keeping work very clearly allocated amongst our team members. Communication was key.

BanjoSpeedruns is one of the projects that I'm most proud of, and I'm grateful to have been able to do it. And now that I'm working on my personal website, I feel pretty well-equipped with the skills I need to create the site, host it, and manage it. In fact, I've already learned a few little things that make me want to go back to the BanjoSpeedruns site and make some style changes. But first, I'm excited to see how my own website turns out.

— Derek Andersen


← All posts