About

I'm an Australian student at Duke University studying Mathematics and Computer Science, with a certificate in Decision Science (GPA 3.8). I'm interested in quantitative trading, quant research, data science, machine learning and AI.

I like problems where a number can be checked against reality. Sports and prediction markets have been fun to explore for that reason: every forecast resolves, and the market gives you a strong benchmark to try to beat.

Away from the desk I compete for Duke and for Australia in foil fencing. In 2025 I won Australia's first ever U20 World Cup. In college, I'm also an NCAA qualifier, ACC Team Champion, and was named Duke's MVP and Sportsman of the Year.

Work authorization

Australian citizen. No sponsorship needed for internships, or for about three years after I graduate. After that I'm eligible for the E-3, an Australia-only visa with no lottery.

Skills

Languages

  • Python
  • R
  • Java
  • VBA

Tools

  • Git
  • Jupyter
  • Excel

Data and ML

  • pandas
  • NumPy
  • scikit-learn
  • PyTorch
  • XGBoost
  • TensorFlow
  • matplotlib
  • tidyverse

Statistical methods

  • Walk-forward backtesting
  • Cross-validation
  • Calibration (Brier, ECE)
  • Monte Carlo simulation
  • Elo ratings
  • Ridge and Lasso
  • Logistic regression
  • PCA
  • Latent class analysis

Coursework

  • Probability
  • Regression Theory
  • Machine Learning
  • Linear Algebra
  • Game Theory
  • Multivariable Calculus
  • Data Structures and Algorithms
  • Combinatorics
  • Abstract Algebra
  • Decision Science

Projects

Probabilistic AFL Forecasting with Ridge Regression and Elo (Prooty)

Mar 2026 – Present

Automated AFL forecasting pipeline, live at prooty.site. Matches bookmaker closing lines out of sample, with no exploitable edge.

Brier
0.194
Bookmaker
0.189
OOS accuracy
69.4%
Show detailsHide details
  • Ridge regression on Elo ratings, opponent-adjusted scoring and home advantage, predicting margins and win probabilities. An automated pipeline syncs Squiggle API data on a schedule.
  • Walk-forward, out-of-sample backtest with no lookahead: Brier 0.194 against 0.244 for always picking the home team, with ECE of 3.3% across deciles.
  • Benchmarked against bookmaker closing lines over 566 matches, reconciled from a second data source, and came within 0.005 Brier of the market.
  • Kelly-staking backtests found no exploitable edge: the largest model and market disagreements adversely selected for model error.

Brier score, out of sample

Lower is better. 566 matches with closing odds.

Bookmaker closing0.189
Prooty model0.194
Always home team0.244
Accuracy
69.4%
Market accuracy
69.8%
Calibration error
3.3%
Log loss
0.565
  • Python
  • pandas
  • scikit-learn
  • Backtesting

Pre-registered Calibration Analysis of Polymarket Prices

Oct 2026

Pre-registered study of whether Polymarket prices are calibrated. They are, and there's no favourite-longshot profit after costs.

Markets
181,214
Brier
≈0.15
Edge after costs
None
Show detailsHide details
  • Built a Polymarket API pipeline to collect and filter 181,214 eligible resolved markets, then drew a random sample of 3,000 politics and sports markets and downloaded their price histories.
  • Prices were well calibrated across 5,231 snapshots, with no consistent favourite-longshot bias and no significant profit after assumed trading costs.
  • Authored a research paper reporting the findings, with the pre-registered design and code published on GitHub.

Brier score of market prices

Lower is better. 0.25 is a coin flip.

Polymarket prices≈0.15
Always 50%0.25
Eligible markets
181,214
Random sample
3,000
Price snapshots
5,231
Profit after costs
None
  • Python
  • REST APIs
  • matplotlib
  • Pre-registration

Latent Class Segmentation of Language Learners

Nov 2026

Latent class segmentation of a Duolingo survey into 6 learner personas, tied to paying behaviour.

Respondents
5,955
Personas
6
Odds of paying
2.3x
Show detailsHide details
  • Segmented 5,955 survey respondents into 6 learner personas with latent class analysis, validated by bootstrap stability testing (ARI 0.54).
  • Confounder-adjusted logistic regression showed the top persona had 2.3x the odds of paying after controlling for country, platform and tenure. Delivered a 2-page report with product recommendations.
  • Python
  • pandas
  • stepmix
  • Latent class analysis

Linear Regression of ACC Basketball Point Spreads

Jan – Feb 2026

Team project predicting ACC basketball point spreads from opponent-adjusted efficiency metrics, built for a prediction competition.

Games
~85
Test MAE
≈8 pts
Show detailsHide details
  • Predicted home-minus-away point spreads for upcoming ACC games from opponent-adjusted team efficiency metrics (Barttorvik).
  • Linear regression on home–away differences in adjusted offensive efficiency, defensive efficiency and tempo. Dropped BARTHAG when it added little, given only about 85 games.
  • Test MAE of about 8 points on an 80/20 split. Checked for home bias and avoided tuning to the small test set.
  • R
  • tidymodels
  • Regression

Monte Carlo Simulation of 2024 Olympic Men's Singles Badminton

Jun 2026

Leakage-free match model plus a 10,000-run Monte Carlo of the Paris 2024 bracket. The simulation's favourite for gold, Viktor Axelsen, won.

Matches
213
Test AUC
0.60
Simulations
10,000
Show detailsHide details
  • Hand-built a dataset of 213 pre-Olympic elimination matches and joined each one to the BWF ranking snapshot from before its tournament, so the model never sees future information.
  • Logistic regression on log ranking-point difference and round, with a temporal split (train Jan to Apr, test May to Jun 2024): 0.66 accuracy and 0.60 AUC on about 50 held-out matches.
  • Monte Carlo simulation of the full Olympic format (13 groups, byes, knockout) run 10,000 times. Its favourite for gold, Viktor Axelsen at 21.1%, won.
  • Python
  • pandas
  • scikit-learn
  • Monte Carlo

LLM-Powered Fencing Training Tracker

Jul 2026

Voice notes after fencing training, transcribed and turned into structured takeaways with Claude. Built with AI coding tools.

Show detailsHide details
  • Records a voice note after each session, transcribes it with OpenAI Whisper, and uses Claude to extract categorized takeaways, action items and injury flags.
  • Stores sessions in Supabase, with a history view and an insights page showing open action items and recurring themes.
  • Built with substantial help from AI coding tools.
  • Next.js
  • TypeScript
  • Supabase
  • LLM APIs
  • Built with AI tools

Statistical Modelling of Audio Features, Billboard Hot 100

Jan – Apr 2026

Team project (STA 221, with Daniel Murong and Chelsea Nguyen): multiple linear regression in R on 1,177 songs, with AIC selection and full diagnostics.

Songs
1,177
Features
105
Show detailsHide details
  • EDA on a 1,177-song dataset with 105 features, then multiple linear regression to identify which acoustic traits drive a song's measured happiness.
  • Model selection by AIC and p-value screening, with full residual, VIF and Cook's distance diagnostics.
  • R
  • Regression
  • Diagnostics

Fake News Classification with Word2Vec Embeddings

Aug – Dec 2025

Team NLP project at Duke Applied ML. I built the preprocessing and Word2Vec embedding pipeline.

Show detailsHide details
  • Contributed data preprocessing and the Word2Vec embedding pipeline to a team NLP classification project comparing logistic regression, random forest, XGBoost and BERT.
  • Python
  • NLP
  • Word2Vec

GitHub activity

GitHub contribution graph for the last year

Experience

Jan 2026 – Present

ML Research Assistant

Duke University · Prof. Scott de Marchi

  • Compared linear, polynomial and Lasso regression with 5-fold cross-validation (code), cutting test RMSE by 40% while reducing model complexity.
  • Built a logistic regression pipeline on clinical hepatitis data (84% test accuracy), ranked predictors by standardized coefficients, and applied PCA to examine feature structure.
  • Self-directed AI safety study: built a scalar autograd engine (micrograd) from scratch, verified against PyTorch; working through the ARENA curriculum toward transformers and mechanistic interpretability.
May – Sep 2025

AI Project Engineer / Product Manager Intern

Quantworks

  • Built an AI career-platform prototype for an education platform serving 7,000+ users, with LLM pipelines for personalized evaluations and recommendations.
  • Analyzed competitor and user data to inform product decisions, and worked with the founder and partners on the roadmap.
Jan 2022 – Feb 2024

Founder and Manager

Creator's Lounge

  • Built and scaled an online content-creation community to 30,000+ users.
  • Generated up to $5,000 a month through data-driven pricing, and automated workflows and campaign reporting with Python.

Other experience and leadership

8 roles
Show allHide
  • Legal InternMay – Jul 2025
    Chen Shan Lawyers and Jack Shand Chambers, SydneyLegal research and case-summary review on civil and commercial matters; shadowed a barrister and a solicitor in court and client conferences.
  • Digital Marketing InternMay – Sep 2025
    Uncommon Impact MarketingMarket and competitor research, B2B outreach to firms including PwC and AGL, and Python automation of content workflows.
  • Campus Tour GuideOct 2024 – Present
    Duke AdmissionsSelected and trained to represent Duke; presentations to 100+ attendees and 90-minute tours for prospective students.
  • English and Math TutorNov 2023 – Aug 2024
    Ninety Plus Education Centre, SydneyTutored students aged 8 to 18 one-on-one and in small groups, adapting lesson plans to each student.
  • Community Manager and Beta TesterJan 2021 – Dec 2022
    MosaeekManaged a 2,000+ user community and gave UX and feature feedback as a core beta tester.
  • Volunteer RefereeJan 2020 – Jul 2024
    NSW Fencing AssociationOfficiated state and national competitions, up to 30 bouts a day.

High school leadership

  • School CaptainOct 2022 – Oct 2023
    Reddam HouseCo-led a school of 1,000+ students, oversaw 10+ student councils, and started bi-weekly interschool leadership forums.
  • Founder and Co-leader, World's Greatest ShaveJan – Apr 2023
    Reddam HouseFounded the school's largest fundraiser to date, raising $12,000+ for leukaemia research with a team of 20+ students.

Fencing

Foil, for Duke Division I and the Australian national team, since 2022.

2025U20 World Cup winner, Australia's first
#1ranked Australian men's foil fencer
13xAustralian national gold medallist
24thOpen-Age World Championships
  • Represented Australia at the 2024 Paris Olympic Qualifiers
  • ACC Champion and NCAA Qualifier
  • Sport Australia Hall of Fame Scholarship (2023)
  • Duke Fencing Sportsman of the Year (2025, 2026)
  • Selected for Duke's Athlete Leadership Program
  • Duke Fencing MVP 2025
  • All-ACC Academic Team and ACC Honour Roll