Projects
Work
Beryl
Australian Payroll Association · SSW · 2025
The Australian Payroll Association's AI payroll agent. It answers only from APA's vetted knowledge base and live government pages, rewrites questions to strip hidden assumptions, hands anything that looks like legal advice to a human specialist, and is scored weekly against APA's experts. Won AI Innovator (Accountancy Services) at the 2025 Australian AI Awards.
Azure OpenAI · RAG · AI Agents · .NET · Azure Service Bus
Projects
Eddy
Training app with a Claude coach · 2026
An all-in-one training app for strength, calisthenics, recovery and protein. A training engine tracks per-muscle recovery and weekly sets; Claude plans the sessions over MCP and they land on the app's Today screen. Syncs with Strava through a small token gateway.
SwiftUI · Cloudflare Workers · D1 · Hono · MCP · Claude
Oxide
A super light text editor · 2026
A text editor that opens instantly, highlights code and formats on save. Multiple cursors, live find and replace with regex, incremental syntax highlighting. Ships for macOS, Windows and Linux, with a Homebrew cask.
Rust · syntect · GitHub Actions · Homebrew
This Website
A desktop in your browser · 2026
A personal site reimagined as a desktop environment: a draggable window manager, dock, terminal and games, built from scratch.
Next.js · React · TypeScript · Tailwind · Framer Motion · Zustand
WTFU
Wake the f*** up · 2026
An iPhone alarm that keeps ringing until you get out of bed and scan a registered NFC tag, barcode or QR code.
SwiftUI · AlarmKit · Core NFC · Xcode Cloud
Lime → Strava
Reverse-engineered rider API · 2026
Lime has no public API, so I documented the app's private one and built a sync on top of it. Every bike or scooter ride lands on Strava as a GPS activity with the route drawn on the map, run unattended from a Cloudflare Worker.
Python · Cloudflare Workers · Strava API · Reverse engineering
Saved You 20 Minutes
Browser extension · 2026
Hover a YouTube thumbnail, click Worth it?, and an LLM reads the transcript to give you the payoff the title was dangling, a WORTH IT / SKIM IT / SKIP IT verdict, and the two or three things the video actually says.
WebExtensions · JavaScript · Claude · OpenAI
Cert Tracker
GitHub and Azure exam prep · 2026
A study and quiz site for the GH-600, GH-100, GH-300 and AI-103 certifications: every unit of the official learning paths, every published objective covered by at least two questions, and a domain-weighted mock exam per cert.
JavaScript · GitHub Pages
University
Impossible Spaces
Honours thesis · VR · 2025
Overlapping rooms joined by portals, so you can physically walk through a virtual world far bigger than the room you stand in. The thesis maps every known impossible-space technique and introduces Impossidraw, a web tool for drawing impossible floor plans and exporting them as 3D models for Unity.
Unity · VR · React · three.js · Konva
Head-Controlled Flying
VR locomotion · 2024
Flying through a virtual world steered by head movement alone, no controllers.
VR · Locomotion
Kryptochat
First-year web app · 2021
A small messaging app that demonstrates Diffie-Hellman key exchange. Private keys never leave the browser; the server only ever sees public keys and ciphertext.
Python · Flask · SQLAlchemy · Cryptography