Applied mathematics · backend systems · Adelaide

Systems that hold up after the first demo.

Background in applied mathematics. I build backend systems, data tooling and internal infrastructure — the kind of work where getting the model right matters more than the UI.

Best fit
Backend and data roles, research software, internal tools and AI tooling
Core stack
Python · TypeScript · PostgreSQL · Docker · REST · MCP · GitHub Actions
Evidence
Real systems with tests, deployment guides, documentation and honest limitations

What I'm looking for

Backend, data and internal-tools roles.

Adelaide or remote — particularly Python or TypeScript systems, data validation, APIs, research software and AI-tooling infrastructure. Places where correctness is the actual requirement, not a nice-to-have.

CV in one click

Selected work

Systems with evidence behind them.

Self-directed engineering projects, documented so employers can inspect architecture, tests, trade-offs and limitations. Everything here is real and linked — nothing hypothetical.

Private runtime infrastructure One contract.
Four environments.
event → snapshot → intent → risk → execution → inventory BacktestPaperSandboxLive 1,706 test functions 426 test files 47 contract modules 642k/s feed benchmark
Flagship internal product Private core · public technical surface

CrackTrader

A production-grade quantitative runtime I designed and built for research, simulation and live execution. One strategy contract spans backtest, paper, sandbox and live — shared state, attribution, central risk, routing and venue behaviour all stay explicit across the boundary.

In engineering terms: event-driven Python, typed strategy contracts, isolated venue adapters, a central risk ledger, full position attribution and a feed benchmark of 642k events/second. The test suite runs in CI.

  • Python
  • AsyncIO
  • CCXT
  • WebSockets
  • Event-driven
Curriculum Graph explorer showing prerequisite relationships around unit fraction notation
Knowledge modelling 2,500+ nodes · active

Curriculum Graph

A curriculum knowledge graph with more than 2,500 nodes. Schema validation, search, auditable patch logs, MCP access, JSON/JSON-LD exports and a local browser explorer.

Demonstrates: schema design, graph queries, deterministic exports, and AI-assisted editing with human review and auditable patch logs — the kind of discipline that makes LLM-assisted authoring trustworthy rather than just fast.

  • TypeScript
  • YAML
  • Knowledge graphs
  • MCP
Maff dashboard showing a synthetic mathematics research project
Full-stack research software Two paper-scale projects

Maff

A TypeScript, React and PostgreSQL workspace for sustained mathematical research. Notes, claim graphs, review queues, MCP access and Lean integration — all in one self-hosted system I actually use.

In workplace terms: authenticated React UI, TypeScript REST API, PostgreSQL index and cache, audit logs, Docker deployment and a formal-methods worker. Built as a real internal platform, not a demo.

  • TypeScript
  • React
  • PostgreSQL
  • MCP
  • Lean 4

Practical Python data tooling

Signal BackupV2 Exporter

Reverse-engineered Signal Android's newer folder-based backup format to selectively export conversations and media to HTML, Markdown and JSON. Tests use synthetic fixtures; no personal data published.

  • Python
  • Kotlin
  • Cryptography
  • Large archives

AI-assisted document tooling

LaTeX MCP

A Model Context Protocol server that turns trusted LaTeX input into cached PDFs and exposes reusable templates and snippets. Packaged for repeatable local deployment with Docker.

  • Python
  • FastMCP
  • Docker

Linux filesystem tooling

VMapFS

A Go/FUSE filesystem that presents persistent alternate directory layouts without moving or modifying source data. Immutable source access, state backups, extended attributes, unit tests and Linux CI.

  • Go
  • FUSE
  • Linux

Background

Mathematical research, carried into systems engineering.

I came to software through maths research and university teaching, not a bootcamp or conventional web-dev path. That shapes how I work — I tend to think about the data model before the API, and I'd rather document limitations honestly than paper over them.

Since 2022 I've been building independently: a quantitative trading runtime, a curriculum knowledge graph, a research workspace, filesystem tooling. These are real systems I use — not portfolio pieces assembled for an interview.

My engagement with machine learning goes back to a graduate summer school in 2017 and deep-learning coursework in 2019, well before the current wave of LLM tooling. I'm most useful where the problem is underspecified, the data model has real structure, and the finished system needs to stay understandable.

2022–present ongoing

Independent software development & research

Backend systems, data tooling, AI-assisted software and quantitative research.

2019–2021

Graduate Research Assistant

Research software, mathematical modelling and quantitative analysis.

2019

Research Technical Assistant · Technical University of Munich

Logistics modelling and simulation tooling during an international research placement.

2017–2021

University Tutor

Mathematics and statistics teaching at the University of Adelaide.

2017 / 2019

Machine learning & neural network coursework

Graduate summer school in big data and machine learning; later deep-learning specialisation coursework.

2017–2019

Master of Philosophy

Applied Mathematics, University of Adelaide.

2014–2016

Bachelor of Mathematical Sciences

Applied Mathematics and Statistics, University of Adelaide.

Where I am most useful

Where I fit best.

I work best where requirements start vague, the data has real structure, and the system needs to stay understandable after the first demo.

Backend & internal platforms

Python and TypeScript services, REST APIs, PostgreSQL, Docker, authentication, CI and operational documentation.

Data & knowledge systems

Schema design, validation, graph modelling, time-series processing, structured exports and reproducible pipelines.

Research & AI tooling

Research runtimes, MCP servers, typed tool interfaces, human-review workflows, audit trails and deterministic processing around LLMs.

Production habits Automated tests Docker CI Structured logs Security notes Audit trails Explicit limitations

Contact

Working on something complicated that needs to stay understandable?

Based in Adelaide, open to remote. I'm looking for backend, data or research software roles — particularly where the domain is messy and someone needs to actually understand the system they're building. Email is fastest; I usually reply same day.