Below are a selection of projects I have been involved with that I can talk about freely.
Many of the projects done through my work are highly confidential.
VCFA Summer 7s Fixturing
2024
- Created bespoke fixtures for seven divisions for the summer women’s league. Each division had unique constraints and a timetabling engine was created to optimize fixtures for each of these divisions.
- Key Skills: Python, Optimization, Timetabling & Fixturing.
Academic Timetabling – International House @ The University of Melbourne
2017 — 2022
- Created timetabling algorithms to create the academic timetable for International House.
- This was a complex problem with over 400 students, 50 subjects, and 20 teachers.
- Solution reduced two weeks of manual work to a few seconds.
- Used for at least five years after creation.
- Key Skills: Python, Optimization, Flask, JavaScript.
- https://github.com/jdgsmallwood/school_timetabling
Primary School Sports League Fixturing
2023
- Created fixtures for a local primary school requiring a fixture for teams of students to play each other in a multi-sport league.
- Each team needed to play each other team in each sport, while providing variety each week in terms of teams played and sports played.
- Key Skills: Python, Optimization, Timetabling & Fixturing.
Fantasy Premier League – Team of the Season Calculation
2023 — 2024
- Calculated the perfect team of the season for local competition, satisfying league constraints.
- Key Skills: Python, Optimization.
UV Warnings Melbourne – Telegram Bot
2024
- Created a Telegram bot which provides warnings when UV goes above 3, reminding you to be sunsmart!
- Key Skills: AWS Lambda, Web Scraping, Python.
- https://github.com/jdgsmallwood/uv-warning-telegram-bot-lambda
Brownlow Medal Prediction
2014 — Current
- Predicts the winner from each team in the Brownlow Medal count from game-by-game statistical data.
- Key Skills: Python, Machine Learning, Web Scraping, Optimization, Postgres, Docker.
Flute Scale Dashboard
2021-2022
- Tracks the tempo of scales practiced, and suggests scales that you have not practiced recently.
- Created a Shiny dashboard with a Google Sheets backend to plot changes over time.
- Key Skills: R, Shiny, Dashboarding.
- https://github.com/jdgsmallwood/music-scales-dashboard
The Statistics of Monopoly
2014
- Constructed a statistical model of the expected return from each property in Monopoly using Markov Chains and R.
- Published an article “Roll the Dice!” based on this work in the University of Melbourne Farrago.
- Done in conjunction with Dhanuka Nanayakkara.
- Key Skills: Statistical Modelling, R.
Probability Analytics Commissioned by Board Game Designer
2017
- Created bespoke modelling for a local board game designer on the expected number of turns a game would take to complete based on various parameters.
- Key Skills: Statistical Modelling, R.
Limit Order Book Modelling
2015 — 2017
- Completed as the research component of the Master of Science (Mathematics & Statistics) with Professor Konstantin Borovkov receiving a high distinction.
- Analyzed tick-level data from the Australian Stock Exchange to construct an algorithm to reconstruct the limit order book at any point in time.
- Modeled the evolution of the limit order book and proved that order arrival rates could not be Markovian.
- Key Skills: Python, R, Statistical Modelling.
Drift Estimation on a Spatial Lattice
2013 — 2014
- Completed as a summer research project with the Australian Mathematical Science Institute, supervised by Dr. Owen Jones.
- Created methods to estimate the drift of observed stochastic processes using the crossing tree method.
- Key Skills: R, Statistical Modelling.
Lux AI
2021
- Created an agent to compete in the LuxAI Kaggle competition.
- Utilized a rules-based approach to attempt to optimally extract resources & expand cities.
- Implemented A* path-finding for agent movement.
- Key Skills: Python, Algorithms.
- https://github.com/jdgsmallwood/lux_ai