Projects and ongoing work.
Shipped work, infrastructure I run day to day, and a leadership role.
Liquid OS
A bootable, installable Ubuntu 24.04 respin with a glassmorphism GNOME desktop, built end to end by a GitHub Actions workflow using live-build. The interesting part was the debugging: a one-character typo in casper.conf that dropped the live session into a BusyBox shell, a GNOME extension enabled with none of its code installed, and a "broken" image that turned out to be a VM starved of RAM. Released as a verified 2.4 GB ISO.
Simple SMB File Browser
A multiplatform SwiftUI app for browsing SMB2/3 network shares on iPhone, iPad, and Mac. It supports upload, download, rename, move, batch operations, and dual-pane browsing, and is built on AMSMB2.
SMB Web Client
A self-hosted web client for SMB shares, in Docker: the same browser and file-browsing experience as the native iOS/macOS app, but from any phone or laptop with no app install. Client only, it connects out to shares and never hosts any of its own.
NAS Dashboard
A self-hosted NAS dashboard for Docker: file browser, on-demand SMB sharing, and host system monitoring in one container. Built as a CasaOS replacement for my home server, with nothing shared until you explicitly turn it on.
Floppy Run
A 2D platformer about a smiling floppy disk. Made in 2023 for a Level 3 game development course. It is not good.
Home Server: Self-Hosted Infrastructure
Ubuntu Server running eleven Docker containers in daily use by my household: photo backup, network-wide DNS filtering, Time Machine backups, and home automation. I root-caused an upstream Samba authentication bug in it and confirmed a systemd fix with a real reboot test.
Unity: Mental Health Super App
A mental health and wellbeing app for kids and teens, with plans for rollout across New Zealand schools. Built with a team through the App Launchpad programme.
Live Event Streaming Runbook
A field-tested runbook for multi-camera live event streaming with OBS Studio, a Blackmagic ATEM Mini, and external audio interfacing, written so the next volunteer can run it without me there.
Dependency Update Workflow
A GitHub Actions workflow that checks pip, npm, and Docker base image updates on a schedule, pauses for a real human approval by email, and only merges the resulting pull request if the existing test suite passes. Extracted from two of my other repos, where it runs in production.
Freelance Video & Design Portfolio
Freelance video editing and graphic design process alongside my CS degree: briefing, rough cuts, colour and audio workflow, and delivering in whatever format the destination platform actually needs.
Class Representative Programme
Elected Class Rep for both COMPX102 and MRKTG101 in my first semester, running feedback loops between classmates and course staff for two papers at once.
Portfolio Sync Action
GitHub Actions workflow that auto-adds new public repos to a portfolio site and a profile README.
Aquabots Code 2026
PS4 controller โ Arduino Mega control system for an underwater ROV (AquaBots). Python (pygame + pyserial) reads the gamepad and streams motor commands over serial; an Arduino sketch drives 4x BTS7960 modules for two drive thrusters and two lift thrusters.
IB