I like building things, trying out ideas and getting to the bottom of how they work. I'm interested in the whole process: the code, the interface, the systems underneath, and what happens when something goes wrong.
Lately, I've been building a workflow debugger in Go and Python, training retrieval models and contributing fixes to open-source projects. Have a look around.
Australia · LinkedIn
I built Checkpoint to investigate failed Python workflows without losing the inputs and responses that explain the failure. Record a run, replay supported HTTP calls, branch with a changed input, and compare the result while keeping the original run intact.
The Go engine runs the workflows, a Python SDK connects your code, and the interface brings the execution path, attempts and JSON differences together. Run history persists in SQLite; selected code and recordings can be exported as an executable reproduction. Windows and Linux releases include the interface, examples and SDK.
Try Checkpoint · Source · Architecture · Watch demo
Go · Python · React · TypeScript · SQLite
I built Rank Lab to follow a retrieval experiment from training through to the documents behind each result. It fine-tunes MiniLM, resumes checkpoints and compares the model with frozen-encoder and keyword-search baselines. You can run it on your own labelled data and open the results in the same explorer.
The latest study repeats training across five seeds each on SciFact and FiQA, keeping the splits fixed. Mean nDCG@10 improved by 3.03 and 2.34 percentage points over the frozen encoder. The explorer shows variation between runs, query-level gains and regressions, uncertainty and measured compute costs. SciFact's comparison with BM25 remains inconclusive.
Open explorer · Source · Repeated study · Engineering decisions · Watch demo
Python · PyTorch · React · TypeScript
An investigation workspace for engineering sources that change or disagree. Trace passages to retained versions and line numbers, compare revisions, and keep supporting and contradictory evidence attached to a conclusion. Includes a runnable fictional investigation and retrieval checks.
Project · Case study · Watch demo
React · TypeScript · Python · FastAPI · SQLite / FTS5
- Reliable Replay Lab: Python/SQLite experiments for retries, stable operation identities and recovery after a worker crash.
- LUNEA Commerce: an individual React/Express/MongoDB project with authentication, access controls and customer/admin workflows. Live demo
- Qdrant client #1563 · Merged: fixed migration retries that could lose records after a failed upload.
- REA #1829 · Merged: reused parsed module URLs during matching to avoid repeated parsing.
UTS Bachelor of Cybersecurity, expected 2027 · GPA 6.60/7.00 · Dean's List 2025 & 2026. At Zip, I built a JavaScript proof of concept and worked on Angular/TypeScript features during an internal Software Developer trial, alongside experience in regulated financial-services operations.
Working with: Go, Python/PyTorch, TypeScript, React/Angular, REST APIs, SQL, Linux and automated tests. Open to graduate and junior technology roles in Australia.
Security, infrastructure and earlier projects
- IDOR analysis and defence: a two-person investigation of object-level access control and layered defences.
- PKI and HTTPS: a private CA, X.509 certificates and TLS trust validation in a lab.
- VMware vSphere labs: ESXi, storage, networking, vMotion and High Availability.
- Database design: a two-person ERD and PostgreSQL implementation.


