Full-stack developer with a focus on data-driven platforms, automation, and cloud infrastructure. I enjoy turning complex problems into clean, working software.
A mix of personal projects, learning experiments, and tools that solve real problems.
Horse racing intelligence platform with probability models, backtesting, and automated betting via Betfair Exchange. Python, Vue 3, Rust, PostgreSQL.
Model Context Protocol servers for Betfair and PuntingForm APIs. Streamable HTTP transport, Docker-based, used as data layer for TurfOps.
Native desktop client for TurfOps built with Rust and Dioxus 0.6. Six colour themes, WebView rendering, Cloudflare Access auth.
XGBoost model training pipeline for horse racing prediction. Feature engineering, historical backtesting, and probability calibration.
Terraform-managed Cloudflare infrastructure for multiple domains. DNS, Pages, tunnels, WAF rules, and email routing.
Static landing page and Hugo blog deployed to Cloudflare Pages. Dark theme, minimal JavaScript, Terraform-managed DNS.
Languages, frameworks, and infrastructure I use day to day.
I'm a software engineer based in Australia. I build data-driven platforms and enjoy working across the full stack — from database schemas and API design to frontend interfaces and cloud infrastructure.
Most of my recent work revolves around applied statistics, machine learning, and automation. I like projects that combine multiple disciplines and give me an excuse to learn something new.
Python, Rust, TypeScript, SQL, Go. Most comfortable in Python for backend work and Rust for performance-critical tooling.
Docker, Terraform, Cloudflare, PostgreSQL, CI/CD pipelines. Everything as code, reproducible and version-controlled.
Machine learning, probability theory, data engineering, systems programming, and building tools that make complex workflows simple.