THE PROJECT COLLECTION

IDEAS YOU
CAN INTERACT WITH.

Creative tools, computer science experiments and the work behind them.

BUILT BEYOND THE DEMO

TWO WAYS TO
MAKE WORK BETTER.

Production planning and data quality, with complete workflows and documented engineering decisions.

FILMMAKING / FULL-STACK APPLICATION

Shot Atlas

From an idea for a frame to a plan for the whole shoot. Organise scenes, attach storyboards and track progress in private saved productions.

  • Version-checked saves
  • Private image uploads
  • Schedules, shot cards and backups
DATA ENGINEERING / NEW APPLICATION

Data Detective

Find missing values, duplicates and inconsistent formatting. Preview a cleaning recipe against the original, then export a clear record of what changed.

  • CSV parsing and column profiles
  • Reversible cleaning previews
  • Exports and private quality reports
START EXPLORING / THREE NEW BROWSER DEMOS

THE INTERACTIVE LAB.

New JavaScript demonstrations inspired by my coursework. These are standalone learning experiences, separate from the original C and Python implementations.

01 / BUILT TO BE USED

CREATIVE TOOLS.
PRACTICAL PURPOSE.

PROJECT LIBRARY

THE FULLER PICTURE.

Explore my university, personal and fellowship work, from operating systems to applied machine learning.

11 projects

C / NETWORKING

Battleship Client-Server System

Implemented a two-player TCP service, client API and binary message framing in C.

Computer Systems · COMP30023
Individual coursework
Project details

Per-game threads and mutexes coordinate concurrent games; defensive message handling covers disconnects and malformed input. The game engine was supplied.

C · TCP sockets · pthreads · mutexes · binary protocols

C / OPERATING SYSTEMS

MLFQ Scheduler

A configurable CPU scheduling simulator with multiple priority queues and round-robin time slices.

Computer Systems · COMP30023
Individual coursework
Project details

Implemented I/O blocking and unblocking, queue demotion, periodic priority boosts and command-line configuration. Separating processes, queues and scheduling keeps the simulation understandable.

C · queues · scheduling · command-line tools · GCC

JAVA / GAME DEVELOPMENT

Shadow Aliens

A 2D arcade game organised around shared entity behaviour and object-oriented design.

Object Oriented Software Development · SWEN20003
Coursework
Project details

The design report describes collision handling, configurable game data, waves and polymorphic powerups. Inheritance and shared interfaces keep related game objects consistent.

Java · inheritance · polymorphism · collision detection

PYTHON / COMPUTER VISION

Traffic Sign Prediction

Compared classification pipelines for recognising 43 traffic-sign classes.

Machine Learning · COMP30027
Coursework
Project details

Evaluated SVM, Random Forest, MLP and stacking approaches using provided image features and HOG descriptors. The report examines model selection and misclassification patterns.

Python · scikit-learn · HOG · cross-validation · error analysis

PYTHON / TEXT CLASSIFICATION

SMS Scam Detection

Implemented multinomial Naive Bayes to classify SMS messages and explored learning from unlabelled examples.

Machine Learning · COMP30027
Coursework
Project details

Used confidence-based self-training to expand the training set and compared its classification results with the supervised baseline.

Python · Naive Bayes · text processing · semi-supervised learning

SQL / RELATIONAL DESIGN

Database Systems

Logistics data modelling and research-data queries across database coursework.

Database Systems · INFO20003
Coursework
Project details

Designed a 14-table logistics schema using Chen and Crow’s Foot notation. Query work includes joins, grouping, subqueries and window ranking, connecting database design with analytical questions.

SQL · MySQL Workbench · ER diagrams · relational modelling

PYTHON / SEARCH & GAME AI

Freckers

A single-player search solver and a team exploration of adversarial game search.

Artificial Intelligence · COMP30024
Team coursework
Project details

Part A includes an A* based solver with legal move and jump-chain generation. The Part B report describes minimax, alpha-beta pruning and iterative deepening for a two-player agent.

Python · A* search · move generation · minimax · alpha-beta pruning

PYTHON / APPLIED ANALYSIS

Victorian Vibes

Explored Victorian remoteness and housing price changes for a local-government audience.

Elements of Data Processing · COMP20008
Group of four
Project details

Combined data cleaning, dataset joins, decision-tree classification and regression. The team communicated findings and limitations through a report and presentation.

Data preparation · dataset integration · decision trees · regression

JAVA / SOFTWARE DESIGN

ShadowTaxi

A UML class design for a taxi simulation with drivers, vehicles, passengers, trips and screens.

Object Oriented Software Development · SWEN20003
Design project
Project details

Mapped responsibilities and relationships between game objects, separating gameplay entities from screen behaviour. This entry showcases the class design.

Java · UML · class relationships · object-oriented modelling

REACT / PYTHON / MONGODB

Full-stack Digital Portfolio

A React portfolio with a FastAPI backend and MongoDB data models.

Personal project
Source available
Project details

Includes routed pages, reusable interface components, a persisted theme preference, searchable articles, portfolio API routes and validated contact-message storage.

React · Tailwind CSS · FastAPI · Pydantic · MongoDB

Repository
PYTHON / RECOMMENDATIONS

Collaborative Filtering Recommender

Explored personalised recommendations through user-based and item-based collaborative filtering.

Headstarter AI · Jul–Sep 2024
Fellowship project
Project details

The project work involved data preprocessing, feature engineering and presenting findings to peers.

Python · collaborative filtering · preprocessing · feature engineering

02 / CAPABILITIES

WHAT I WORK WITH.

Each area connects to a project where I have applied it.

Languages & development

Python, C, Java, JavaScript, SQL, HTML and CSS. Git for version control and structured project documentation.

Explore MLFQ Scheduler

Web & backend development

React, Tailwind CSS, FastAPI, Pydantic and MongoDB. Responsive interfaces, API integration, validation and browser storage.

Explore Digital Portfolio

Data & machine learning

pandas, scikit-learn, data cleaning, feature engineering, classification, regression, cross-validation and model evaluation.

Explore Traffic Sign Prediction

Databases & modelling

SQL queries, joins, aggregation, subqueries, window functions, ER diagrams and MySQL Workbench.

Explore Database Systems

Algorithms & software design

A* search, game-search concepts, collaborative filtering, object-oriented design, inheritance, polymorphism and UML.

Explore Freckers