Applied mathematics · Python & TypeScript · Adelaide · Australian citizen

Correctness-first software for messy domains.

Software engineer and applied mathematician building reliable backend systems, data workflows, AI-assisted tools and internal platforms. Strong in automated testing, difficult technical investigation, reproducible behaviour and clear documentation.

Best fit
Software engineering, backend and data systems, test automation, application support and technical product roles
Core stack
Python · TypeScript · PostgreSQL · Docker · REST APIs · Linux · React
Evidence
Working systems with tests, documentation, deployment processes and explicit limitations

What I’m looking for

Software engineering, data and technical-systems roles.

Adelaide or remote — particularly Python or TypeScript software, backend systems, data validation, APIs, test automation, application support, implementation, research software, education technology and reliable AI tooling. Places where correctness and clear technical understanding genuinely matter.

Building, testing, troubleshooting and improving software systems.

Selected work

Systems with evidence behind them.

Substantial independent and collaborative engineering projects with inspectable architecture, tests, trade-offs and limitations. Private implementations are paired with public technical evidence, while smaller repositories expose working code directly.

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
Quant runtime infrastructure Internal system · technical docs public

CrackTrader

A private quantitative runtime designed for research, simulation and reliable 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 measured synthetic-feed benchmark of roughly 642k ticks/second. The test suite and benchmark gate run in CI.

  • Python
  • AsyncIO
  • Market data
  • WebSockets
  • Event-driven
BP Small press production system Public-domain works,
carefully prepared for modern readers.
Source public-domain text Prepare EPUB / PDF / covers Catalogue ISBN-linked edition pages Release Amazon/KDP print and digital editions
Co-founder & Technical Lead 2023–2024 · public catalogue

Bridges Publishing

A small joint publishing venture. I led the technical production systems through the main build-out: metadata, cover generation, EPUB/PDF workflows, catalogue generation and repeatable Amazon/KDP release checks. The catalogue contains 34 public-domain titles with print and digital editions distributed internationally.

In engineering terms: schema-driven publication records, generated book pages, ISBN-aware routing, Python cover production, repeatable release checks and a custom-domain static site for the catalogue.

  • Python
  • Static sites
  • Metadata
  • EPUB/PDF
  • KDP
2,600+ nodes4,400+ edgesK–12 graph
Knowledge modelling Active

Pondera

Graph-backed adaptive maths practice.

A learning and curriculum system built around graph-backed knowledge modelling, structured validation, evidence trails and deterministic processing around AI-assisted content. It demonstrates technical education-technology capability without hiding the underlying model.

In engineering terms: 2,600+ graph nodes · 4,400+ authored edges · schema validation · MCP · JSON/JSON-LD · browser explorer.

  • TypeScript
  • YAML
  • Knowledge graphs
  • MCP
  • Validation
  • AI tooling

Public code

Open-source projects you can inspect.

Smaller public repositories with working code, tests, docs or clear implementation evidence. These are narrower than the private/product work above, but easier to inspect directly.

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

Research platform

Maff

A self-hosted TypeScript, React and PostgreSQL workspace for sustained mathematical research: notes, claim graphs, review queues, MCP access, audit logs and Lean integration.

  • TypeScript
  • React
  • PostgreSQL
  • Lean 4

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 and collaboratively: a quantitative runtime, publishing workflow, curriculum knowledge system, research workspace and filesystem tooling. These are substantial systems with inspectable engineering decisions, not portfolio pieces assembled for an interview.

My strongest current AI evidence is in reliable tooling around language models: MCP services, typed interfaces, structured outputs, human review and deterministic post-processing. 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 & Systems Development

Backend systems, data tooling, AI-assisted software, learning technology and quantitative research developed through substantial independent and collaborative projects.

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 & software systems

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

Data & knowledge systems

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

AI & research tooling

MCP services, typed tool interfaces, structured model outputs, human-review workflows, audit trails and deterministic processing around LLMs.

Quality, support & implementation

Automated testing, fault reproduction, log/API/database diagnosis, technical documentation and systems designed to be easier to deploy, understand and support.

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 and open to suitable remote roles. I’m exploring software engineering, backend, data, test automation, application support, implementation and technical product opportunities — particularly where the domain is complex and someone needs to understand the system rather than merely connect components.