ABOUT {
work
At Orica Digital Solutions I work on computer vision for rock fragmentation detection, and on the synthetic data that helps train it.
education
I study a BEng in Software at the University of Newcastle, expecting to graduate 2028/2029 with a GPA above 5.0.
side projects
Away from work I build game AI: state machines, behaviour trees and a goal-oriented action planner, plus procedurally generated levels designed to reward exploration.
off the clock
WoW, Dark Souls and Lord of the Rings. Comedies and action films, music, cooking for others, painting D&D minis, and tabletop games like D&D, Werewolf and Exploding Kittens.
"If more of us valued food and cheer and song above hoarded gold, it would be a merrier world."
SKILLS {
Languages
Python
C++
Java
Kotlin
GDScript
TypeScript
JavaScript
HTML
CSS
SQL
Machine-Learning-&-Vision
PyTorch
OpenCV
GymnasiumReinforcement learning
Tools
Docker
Node.js
Spring
MySQL
Blender
Godot
Unity
Pygame
gRPCAndroid
Gradle
Wireshark
"Bad programmers worry about the code. Good programmers worry about data structures and their relationships."
WORK {
Orica Digital Solutions
Junior ML software engineer. Built an end-to-end synthetic data pipeline for training computer vision models, adapted SAHI (Slicing-Aided Hyper Inference) for rock fragmentation detection, and wrote a lightweight synthetic LiDAR system for Blender files to support a feature-matching model.
NUbots
Outreach and vision teams. Helped lead demonstrations for schools and universities (UNSW, Guizhou University, and the AROSE event at Newcastle Museum), and am reworking the segmentation and semantic vision detection model while developing a depth estimation model.
Robotildas
A new joint RoboCup team between NUbots and UNSW's rUNSWift.
"Looking back, we were the luckiest people in the world. There was no choice but to be pioneers; no time to be beginners."
PROJECTS {
-
SuperMarioAgent
Reinforcement learning agent for gym-super-mario-bros. OpenCV sprite detection feeds an epsilon-greedy policy; first completion after 17 epochs.
-
NUmote
A mobile-friendly web interface for controlling a NUbots robot directly, without a running binary.
-
Fyrebranded
A 2.5D action RPG built around surviving waves of enemies, with hierarchical state machine AI and procedurally generated levels.
-
GPSTracker
A geofencing tracker that combines real-time location with a tilt sensor to predict danger zones. Built for Orica Hackathon #4 (2025).
-
PSDCalc
A particle size distribution calculator that uses equivalent volume boxes (EVB) to approximate synthetic rock volumes.
"Programs must be written for people to read, and only incidentally for machines to execute."
CONTACT {
Based in Newcastle, NSW. Find me on GitHub or LinkedIn, or download my resume.
"You don't ever let go of the thread."