Projects

Red's Recipe Run

Roguelike game in which you play as Little Red Riding Hood, exploring a forest to search for ingredients for grandma's recipes while wolves are sneaking around. Dynamically-generated recipes, upgrades to main character, increasing difficulty as you progress, and a creepy plot in which not everything is at it seems.

Unity logo Unity
C# logo C#
JavaScript logo JavaScript

Click to see more.

RetroImageMaker

Python app that converts input images into the pixelated style seen in different old school consoles. Currently, there is support for the following systems: PICO-8, Game Boy (DMG), Commodore 64, ZX Spectrum, EGA 16, Apple II (Lo-Res 16), Game Boy Color (RGB555, 32), Game Boy Advance (RGB555, 64), Nintendo DS (RGB666, 64), PlayStation (PS1, RGB555, 32), Sega Genesis/Mega Drive (RGB333, 64), NES (Nestopia 54), Nintendo 64 (RGBA5551-like, 64), Adaptive 32-color.

Python logo Python
Tkinter GUI logo Tkinter GUI

Click to see more.

Customer Churn Dashboard

Dashboard + RandomForest model to produce insightful analytics into customer churn at a sample online streaming company. The dashboard is interactive and auto-refreshes whenever the backend receives any updates. The backend is built on FastAPI with JSON endpoints. The project includes graphs on churn rate by customer segment, top factors affecting churn, churn probability distribution, among others. Furthermore, actionable levers, such as which customer segments to target, are generated for the user to be able to develop a marketing strategy.

Python logo Python
FastAPI logo FastAPI
JavaScript logo JavaScript
HTML logo HTML & CSS
uvicorn logo Uvicorn
NumPy logo NumPy

Click to see more.

Explainable AI System for Facial Weakness Detection in FSHD

Developed an interpretable ML system for evaluating facial weakness severity and asymmetry in Facioscapulohumeral Muscular Dystrophy (FSHD). The work introduces a curated dataset of facial photographs and a novel Hierarchical-Graph Neural Network (HGNN) that integrates facial expressions, action units, and asymmetry features. The model achieves high accuracy across FSHD detection, severity grading, and asymmetry prediction, while Shapley value analysis ensures clinical interpretability. This approach enables objective, quantitative monitoring of facial function for clinical assessment and trials.

Python logo Python
PyTorch logo PyTorch
OpenFace logo OpenFace 2.0
Nvidia logo Nvidia CUDA/RTX 3090
SHAP logo SHAP

Paper submitted for review. Contact me to read the manuscript.

Puzzle Suite

A free-to-play puzzle website currently supporting Sudoku, Minesweeper, Nonogram, and Hashiwokakero. Includes automatic generation for all four games in four different difficulties, QOL functions like note mode and light/dark mode, SEO optimisation, and support for both desktop and mobile users.

JavaScript logo JavaScript
HTML logo HTML & CSS
Vercel logo Vercel

Come play!