Resume

Technical skills

Languages
PythonJuliaTypeScriptJavaScriptSQLScala
Data & analysis
PandasJupyterExcelTableau
Scientific computing
PyTorchMATLABMathematicaAlgorithm designNumerical methods
Visualisation
Custom chartingCanvas / WebGLSvelte / SolidReal-time 2D & 3D
Tools
GitGitHubLinuxBashLaTeX
AI
Claude CodeAgentic AI

Education

PhD in MathematicsUniversity of Auckland

2026

Thesis: Deciding Discreteness in SL(2) over Local Fields

  • Designed and implemented algorithms to decide discreteness of matrix groups, proving correctness and optimising run-time against non-trivial performance constraints.
  • Built the supporting tooling in Python, Julia, TypeScript and Magma, including an open-source Magma package (SL2RDiscrete).
  • Research ranged from geometric group theory to cryptography.
  • Second place, Best Pure Mathematics Talk — NZMASP 2022.

Experience

Research AssistantUniversity of Auckland

Mar – Jul 2025

Project: applications of machine learning to problems in combinatorics and graph theory.

  • Built and trained models in PyTorch end to end—data generation, training loop, evaluation—on graph-theoretic search problems.
  • Surveyed current literature on ML-guided conjecture search and neural approaches to combinatorial optimisation.
  • Presented findings to the mathematics faculty.

Graduate Teaching AssistantUniversity of Auckland

2020 – 2024

Ran small-group tutorials across undergraduate mathematics courses.

  • Taught over 300 students, explaining technical material to mixed-ability audiences.
  • Marked assignments to a consistent standard and gave written feedback under deadline.

Software Developer InternBiomatters Ltd

2017 – 2018

Built a front-end web application for exploring DNA sequences and associated genetic data.

  • Rendered and navigated datasets of up to billions of data points, designing for responsive interaction at scale.
  • Worked in TypeScript and Scala against REST APIs, in an Agile team of 2–3 delivering to client specifications.

Private Mathematics Tutor

2019 – 2025

Ran an independent tutoring practice for 20+ secondary and university students, handling lesson planning, scheduling and client relationships alongside the teaching itself.

Projects

Mathematical visualisers

  • Bruhat–Tits tree visualiser and hyperbolic 3-space visualiser: TypeScript tools for exploring isometry group actions, built on custom-written mathematical libraries.
  • Real-time 2D and 3D rendering, optimised so animation and interaction stay smooth on live-computed data. Used by other researchers in the field.

Other work

  • Quick Sets: a browser implementation of the card game SET, written in Svelte.
  • Interactive maths explainers on my blog.
  • Generative and interactive art pieces, collected on my home page.