I've worked on several more traditional software projects, mostly as assignments in various university courses. Some of the more interesting things can be found on this page.


Interactive r/place 2022 3D Visualisation Using Unity

r/place in 3D GitHub

r/place (2022) was an event held by Reddit from April 1st to April 4th. Every user was able to change the colour of a single pixel in a large grid once every five minutes. Using python, I modified the released pixel data into a format that could be read quickly for visualisation in the Unity game engine. Instead of the flat image of r/place as it was presented during the event, each time a pixel changes colour in this program a new cube is placed in that location, showing highly contested locations on the board as tall towers. The cubes exist as particles created using the VFX Graph in the Universal Render Pipeline.

Pokémon GO Pokédex Web App

Pokemon GO Pokedex App Check it out here!

This is a single page application developed using Vue.js. Since Pokémon GO is constantly updating, I use a series of python scripts to pull data from various APIs and repositories online to make updating the site very easy. Most of the data is pulled directly from datamined game assets, so they are always accurate.

I developed this app as a simple and familiar way to view information about the Pokémon in Pokémon GO, including those that are yet to be released. It is based very closely on the style and structure of the Pokédex in the Pokémon GO app, with added information and all Pokémon unlocked.


Strategy game prototype for UoN group final year project

I worked as lead developer and scrum master in a team of eight for my group software engineering FYP. The game is developed using Unity and the Universal Render Pipeline. Details about this project are intentionally lacking as it was developed for a company to potentially develop a complete game from.

VR Indigenous Learner Driver Trainer

VR Driver Trainer App

For my individual final year project, I created a prototype VR application that aims to teach Indegenous adolecents the road rules. This should be to such a degree that they can use this knowledge to obtain their lerner drivers license. The app will run on Android phones and use a Google Cardboard headset or similar. It is built using Unity. Github.

Software quality tool

Measuring usage of comments

This is a command line program written in C++ to assess the code quality of a supplied C++ project. I developed the two metrics of "Usage of comments" and "Depth of conditional nesting" to be used in the program.

Google Cloud Architecture Assignment

Prime number generator dashboard

The final assignment for the Enterprise Software Architecture course. This assignment consisted of three parts, the client, the server and a dashboard. The client would send a random number to the server via a Google Cloud Pub/Sub topic. The server would then calculate all prime numbers up to that number and send this to the dashboard. The Client and server were hosted on Google Cloud as Cloud Functions. The Dashboard was hosted on Google App Engine. Data was stored in a FireStore for persistance. The client, server and dashboard are created in python 3, with the dashboard using Flask. GitHub.


Basic 3D engine using OpenGL

Procedurally generated terrain

I worked in a team of four to create a basic 3D engine using OpenGL for a computer graphics course at UoN. It features a procedurally generated island with terrain texture blending, procedurally placed trees, animated humanoid character that walk around the surface of the island and a day night cycle with lighting. One person starts infected with a disease and appears in red, over time as they move around the disease spreads through close contact. The purpose of the project was to learn the fundamentals of 3D computer graphics and to use that to create a simulation of a disease spreading.

'FlightPub' flight booking website

FlightPub Website

I worked on the front-end of a prototype for a flight-booking website powered by React, Node.js and Redux. This was done as a group project with a team of six. As a team we designed the website and its features based on a vague set of user requirements.


'ARt' high fidelity prototype

Virtual Art Gallery

I worked as part of a team of eight to design and implement a protoype augmented reality system. This system would be built for the University art gallery to enhance the experience of those exploring the gallery. The protoype is built in the Unity Engine. GitHub.

Desktop Dragon

Dragon running around desktop

I made a simple Unity app that renders a dragon character that runs around your desktop. He can also be picked up and tossed around your screen. Information about the location and size of windows on the desktop is gathered from APIs provided by the Windows operating system. Colliders are placed along the top of windows for the dragon to stand on.

Connect4 AI using alpha-beta pruning

Connect 4 AI in action

This command-line AI competed against the AI created by other students in the course, coming in 2nd place due to running out of time (each AI had a limited bank of time to decide it's next move within). The AI is written in Java and makes use of the negamax algorithm with alpha-beta pruning.


Lecture-attendance recording android app

Lecture attendance app

During the first semester of university we were tasked with creating an android app using MIT App Inventor that would be used to record student attendance in lectures. You can see the app on the google play store here.