This page contains a selection of projects, artefacts, and pieces of work that I've created or contributed to over the past few years.

Software Projects

Federated Social Media Site

[Project Report PDF] [GitHub Repo]

As part of my penultimate year of study in St Andrews, I undertook a yearlong software engineering module, which involved building a federated social media in a small team. The site was designed to allow cross-communication with the sites of other teams, similar to how Mastodon instances work. Over the course of the project I gained experience with Agile development and became proficient in several technologies including TypeScript, IBM LoopBack4, MongoDB, and Postman

Some aspects of the system I was chiefly responsible for developing include they system's security controls, including the system's authentication/authorization mechanisms and secure password storage, and the up/downvote system. I was also the chief team member responsible for system API testing.

Global Challanges Programme

[Project Report PDF] [Addon GitHub Repo] [Automated Pages Github Repo]

One of the most exciting projects I have been able to partake in has been the Global Challanges Programme, organised by the St Andrews School of Internation Relations. The programme involved working in a small group to work towards developing and implementing solutions to the problem "How can we achieve policies that are evidence-informed, in a timely and appropriate way to enable more effective responses to global crises?".

Our group implemented solutions targeted at reducing the effectiveness of misinformation through increased information literacy. My personal project responsibilities included:

At the end of the programme, we were proud to be awarded the overall runner-up prize in the competition, receiving, as a group, a £1,000 prize.

The project was a valuable learning experience and reinforced my belief in the need to approach tackling many of the issues facing the world from a multidisciplinary perspective.

Online Chameleon Game

[GitHub Repo]

A personal project I undertook in my spare time. This site is a recreation of the popular social deduction board game "Chameleon". Building the site was a valuable learning experience, serving as my introduction to React and WebSockets. Although now that a few years have passed since I created the site, there are things I would definitely do differently if I had to rebuild the site from scratch, however the code has remained robust enough to support playing the game with friends since I brought it online. Although the site was only made for personal interest and to facilitate playing the game with friends, it was built to accommodate an arbitrary number of rooms, each of which may facilitate a game being played simultaneously and independently of other games taking place at the same time.

Senior Computer Science Project

[Project Report PDF]

In my final year of study at St Andrews I undertook two year-long projects: one in the School of Mathematics and the other in the School of Computer Science. My computer science project involved investigating how recordings of musical melodies could be automatically transcribed and represented as sheet music. The project combined several interests of mine, musicology, software engineering, and human-computer interactions. The project was featured as one of six example projects featured on the school's example project library.

Writing

Penetration Testing Report

[Report PDF]

Part of my work towards an MSc in Applied Cyber Security involved undertaking a simulated penetration test. The report produced as part of this test can be found here.

Blockchain Report

[Report PDF]

This report was written as part of my undergraduate studies, it summarises and evaluates the (at the time) state of blockchain technology, specifically with regards to cryptocurrencies, and with a focus on cyber security concerns. The intended demographic of the report are individuals who are technology-literate but who are unfamiliar with blockchain technology.

Selected HearingAid Articles

[Article 1] [Article 2]

As well as reports written for academic purposes and with a focus on technology, I have also written about music and music culture on a number of occassions for St Andrews' student run Hearing Aid magazine.

Senior Mathematics Project

[Report PDF]

This report was produced as part of the other year-long project I undertook in my final year at St Andrews. This project investigated the history and properties of mathematical objects called space-filling curves and is a technical document aimed at someone with a basic knowledge of undergraduate mathematics.

[back]