Founded the school FTC program
One team. Four people. No classroom, no budget, no assigned teacher. I wrote the funding pitches, sourced the sponsorship and built the training material from zero.
Sunshine Coast → Brisbane, Australia
I build robots that win world stages and software that runs close to the metal. Computer Science & Mathematics at the University of Queensland.
About
I started a robotics team with four people and no classroom. Three years later it was a five-team, fifty-person program, an Asia Pacific title, and a top-four division finish at the FIRST World Championship in Houston.
The same instinct drives my software. I write mostly Rust — async runtimes, FUSE filesystems, OAuth2 flows, P2P networking, GUI applications — because I like understanding the whole stack rather than importing it. When I needed a neural network, I wrote the backpropagation myself. When I needed a CPU, I built one in Minecraft and then wrote its compiler.
Currently studying Computer Science & Mathematics (dual degree) at UQ, teaching primary-school kids to code on weekends, and hunting for the next hard problem.
Robotics
One team. Four people. No classroom, no budget, no assigned teacher. I wrote the funding pitches, sourced the sponsorship and built the training material from zero.
2nd place National Championships and 1st place Inspire Award at Queensland States — the top award in FIRST, given for combined engineering excellence and community impact.
1st place Asia Pacific Open Championship. Plus 1st Inspire Award, 1st Innovation Award, 3rd at Nationals — while sitting Year 12 finals and returning a 98.6 ATAR.
4th in division at the FIRST World Championship, competing as a first-year university student. Followed by 1st place Control Award, 1st place Think Award, and 2nd at Asia Pacific Open.
The program I founded now fields five nationally competing teams. I still mentor its leaders in CAD, programming and robot operation.
Selected work
Frontend, async core, database and five external APIs. Written end to end in Rust, by me.
Not a wrapper around someone else's player — the whole stack. A reactive desktop frontend on the iced runtime; an asynchronous backend on tokio orchestrating search, downloads and playback as independent long-running processes; a persistence layer in SQLite that caches every search result, even the ones you never click, so repeat lookups return instantly; and an integration layer speaking to YouTube Music, Spotify, Last.fm and Discord. Downloads run five at a time behind a bandwidth-aware queue that defers the rest and wakes them through callbacks. Every process reports its own state back to the UI, so a failed network call surfaces as an interactive notification you can retry — not a silent hang.





Its async database layer was extracted into rusqlite-async — a non-polling tokio wrapper that defers rusqlite work onto a single thread and returns results through async channels.
Build the foundation properly, then build something real on top of it.
I wanted my photos out of Microsoft's walled garden, so I wrote the API layer myself rather than reaching for someone else's SDK, then built a product on top of it.
A Rust client for the Microsoft Graph API, written from scratch. The complete OAuth2 authorisation-code flow — a local callback server catches the redirect, exchanges the code, persists a long-lived refresh token and silently mints short-lived access tokens — plus typed retrieval of albums, album children and individual photos with full metadata.
SourceA physical, always-on photo frame running headless on a Raspberry Pi. Browse and select OneDrive albums, cache them locally in SQLite, download asynchronously, display them full-screen. Two GUI applications share one backend: a control surface for choosing what appears, and a display client for the frame itself.
SourceCurrently extending the same foundation into onedrive-fuse — mounting OneDrive as a Linux filesystem. The authentication layer works; the filesystem layer is in progress.
Programming and design lead for the QUT Droid Racing Challenge. I built a convolutional neural network that learns to drive by watching humans drive: frames in, steering and throttle out. Trained end to end, exported to ONNX and compiled with TensorRT for real-time inference on embedded hardware, with a homography pipeline flattening the camera into a bird's-eye view of the track.
The platform is ours too — a 3D-printed chassis carrying a mast-mounted camera, dual H-bridge drivers, and an actively cooled compute module doing inference on-board. Everything the car decides, it decides for itself.
No frameworks, no autograd, not even a linear algebra crate. I wrote the matrix library, then derived and implemented the forward pass, backpropagation and gradient descent by hand in Rust. The supervised version trains a multilayer perceptron to convergence on the UCI Adult census dataset; the reinforcement-learning version implements Deep Q-Learning — replay buffer, target network, epsilon-greedy exploration — and learns to balance cart-pole and navigate a grid world from reward signal alone.
Doing it this way is the point: I wanted the maths in my hands rather than behind an API.
A real-time fractal explorer in C++ and OpenGL, with the escape-time iteration pushed entirely onto the GPU as a fragment shader. Live pan, zoom and continuous variation of the exponent — smooth at interactive framerates.
A multiplayer game written from the ground up: a custom C++/OpenGL 2D engine on one side, and an asynchronous, thread-safe Rust game server on the other, handling concurrent client state without a game framework in sight.
Rather than writing another pile of sequential op-modes, I built a task-composition framework for our competition robot. Behaviours are declared as composable Task objects — Series, Parallel, Race and Optional combinators — over a hardware abstraction layer, so an autonomous routine reads as a tree of intent instead of a state machine. Built on Pedro Pathing for the motion layer.
Direct peer-to-peer file transfer across the internet with no server in the middle, built on QUIC via iroh with a native GUI. Paired with a LAN discovery crate that broadcasts over UDP and auto-elects a server if none is found.
I built an 8-bit computer out of redstone, defined its instruction set, then wrote a compiler in Rust that targets it — assembling a higher-level syntax down to the machine's 4-bit opcodes.
Teaching infrastructure built for the Peregian Digital Hub: robotic arms driven by natural-language prompts, a networked looped agentic AI harness running across Raspberry Pis, and LiDAR-equipped drive platforms with onboard processing — all set up so other educators could run AI classes without touching the plumbing.
Control the cursor with your hand. MediaPipe hand-landmark tracking over an OpenCV video stream, with gesture classification mapped onto real OS-level mouse events — clicking, dragging and scrolling in the air.
Background
The University of Queensland
GPA 6.25 in Semester 1 — earned in the same semester I flew to Houston for the FIRST World Championship, losing multiple weeks to travel and competition.
Edexia — EdTech AI startup (Y Combinator '25)
An intensive one-week immersion shipping features to real teachers. I improved the OCR pipeline so the model could read student handwriting through crossed-out text, underlines and bolding — the cases that previously broke it.
Sunshine Coast Grammar School
Robotics Captain and Emerging Technologies Captain — a role the school created specifically to expand robotics and STEM. Grew the program from one team of four to a fifty-person, five-team hub while sitting finals. Debated from Year 8; offered the debating captaincy and declined it to stay with robotics.
Impact
Four years of running programming and engineering workshops for primary-school students — 5 to 8 workshops a year, classes of 7 to 15, over 200 students reached. Python, mechanical design, game design, AI. The feedback from students and parents is what keeps the program alive.
Programming workshops at the Peregian Digital Hub, 2023–2026 and ongoing. I also present at the Hub's technology meetups on AI, personal projects and robotics in education.
Sponsorship I secured through outreach was turned into robotics kits for public-school students — with ongoing mentoring that seeded independent robotics programs at those schools.
The program I founded now fields five nationally competing teams. I mentor their leaders in CAD, programming and robot operation — the legacy was always the point.
Judging and field maintenance at FIRST events, educational expos, and debating coaching — currently at Stuartholme School, previously Sunshine Coast Grammar, plus adjudicating the Sunshine Coast schools competition.
Contact
Open to internships, research, robotics work and anything where the interesting part is the engineering.