My Projects



Bachelor of Computer Science

I took a rather stupid approach to my education, that paid off considerably. Instead of just doing the work I was given, I instead ignored the requirements of any assignment given, and do my own thing. This meant that my GPA took a hit because I didn't tick all the boxes, but I simply couldn't learn in a copy/paste environment that University offered.

PTV Frontend in Vue

May 2025

Screenshot of the Hurstbridge line in the PTV frontend app

For the user interface design (COS30043) unit at Swinburne, I developed a unique web app for the final assignment that displays departures and routing information from the PTV API. It was written in Typescript+Vue, with a PHP backend that stored some authentication data in a Sqlite database.

The source code is available on my GitLab.


PyMisinfo - AI Misinformation Detection Project with Microservices

Oct 2025

Diagram showing the architecture of the AI misinformation detector project

Highly scalable and efficient AI misinformation detection solution. This was a team project, where I worked on the system architecture and the Go API. This was just an intrusive thought I had - I didn't want to write a Python web service, but I also didn't want to develop an AI algorithm using Golang. So why not just use both, and connect them with some kind of message queue?

The source code is available on my GitLab.


SQL Builder Library in PHP 5.4

Jun 2024

Screenshot of PHP frontend allowing users to apply for a job

During the COS10026 unit for the Bachelor of Computer Science, I built a custom SQL builder library in PHP. We had to create a web application on an ancient server running RHEL 6, and despite the limitations of PHP 5.4 and mysqli, it turned out pretty well.

You can use this simple PHP code to select from a table:

$results = SqlBuilder
    ::SELECT($mysql_connection, ["id", "first_name", "last_name", "address"])
    ->from("users")
    ->where(SqlComparison::EQUALS("id", PreparedStatementInsert::INT($id)))
    ->prepare_and_execute_statement()
    ->bind_and_return_result();

The source code can be found on GitLab, and here is the specific file containing the SQL builder


Data Visualisations using D3.JS

Jun 2024

Dual area chart, comparing alcohol consumption and life expectency per country

Completed during the Bachelor of Computer Science (COS30045). This project applies Edward Tufte's data visualisation principles to find out whether alcohol consumption can be linked to life expectancy, using D3.JS


Matchsticks Game in ARM Assembly

Jun 2024

Picture of the Matchsticks game code running through the Peter Higgingson's Armlite simulator

Created a game using the ARM architecture with Peter Higginson's ARMLite simulator. The game in question is a matchsticks game where a player versus a computer to take 1-7 matchsticks from the pile until there are none left.

View my article about how it all works, or the source code on GitLab.


Diploma of IT

Socket Programming in C++

Nov 2023

Screenshot of host PC sending messages to a Debian virtual machine

Used the low-level sockets library to develop a very simple messaging app. This gave me a low level understanding about how Linux opens sockets, and accepts packets from the network.

Though, I treated C++ like C with classes, so I wouldn't call the code great

You can view the source code on GitLab


Certificate IV of IT

Large-Scale MySQL Database Migration

Nov 2022

Picture of the entity-relationship diagram of the final migration

Imported and linked data from the Australian Census, Australian Post (postcodes, LGA codes), and COVID-19 data into a 3rd-normal-form MySQL database. All data transformations were done using Python.

The source code is available on GitLab as usual.


MG-Pizza - Pizza Ordering UI in Java Swing

Jun 2022

Screenshot of pizza ordering system in Java

A project completed in the Certificate IV of IT. It is a simple Swing GUI that implements a pizza ordering system with business requirements implemented and tested using JUnit, along side a hefty of documentation.

Anything before that?

Yes! I was a games developer back in high school, before I moved into TAFE. At some point, I'll put these projects in here, though they aren't very good nor interesting.