My Projects

Sheet to Notes

Sheet to Notes

A falling-notes piano visualizer for MusicXML scores, built for practicing on an iPad. Load a MuseScore export and watch the notes fall onto an on-screen keyboard with hand colours, fingering numbers, and sampled piano playback.

ReactTypeScriptViteTailwind CSSSupabase
Multiplayer Wordle Clone

Multiplayer Wordle Clone

Multiplayer Wordle clone where up to seven players share a lobby code and race through the same puzzle. Live opponent grids show greens and yellows as they land, with optional timed rounds and a session leaderboard scored on guesses used.

ReactTypeScriptViteTailwind CSSExpress
Quest

Quest

An RPG that gamifies personal development by turning life goals into quests. Pick one of six classes, earn XP across six core stats, and get guidance from an AI party of five specialized agents that surface opportunities, financial advice, and tool recommendations.

Next.jsTypeScriptTailwind CSSFastAPIPythonMongoDBLangChainLangGraphNextAuth.jsFramer Motion
Lumen

Lumen

hackathon winner

Lumen is a mental wellness companion app that analyzes user emotions and provides therapeutic mini-games for personalized emotional support and trend tracking.

ReactViteGemini APITypescriptMongoDBUnityFramer Motion
Pot-Hole Risk Assessor

Pot-Hole Risk Assessor

hackathon winner

Hardware creation that is meant to be placed underground beneath important roads, and assesses the likelihood of a pothole forming by using sensors to gather data.

Arduino
Heritrace

Heritrace

A web application to figure out where you're from based on your name.

Next.jsReactTypeScriptTailwind CSSStripePrisma
Salary Prediction Model

Salary Prediction Model

A model for predicting salaries. It takes the highest level of educational attainment, the person's gender, their current job and their years of experience and predicts their salary given their information.

PythonPandasMatplotlibScikit-learnNumPySeaborn
Loan Prediction Model

Loan Prediction Model

A model created to predict the likelihood that an individual would default on their loans using various numerical and categorical factors.

PythonPandasMatplotlibScikit-learnNumPySeaborn
LocateAble

LocateAble

LocateAble is a website that fosters inclusivity by allowing users to post reviews, rate, and search for locations on Google Maps based on accessibility, covering a wide range of perspectives.

ReactPostgreSQLGemini APIGoogle Maps APIPythonSupabaseFlask
Sokoban

Sokoban

Sokoban, built in Assembly.

AssemblyRISC-V 32
Paint Application

Paint Application

A paint application, built using Java and JavaFX.

JavaJavaFX
Trading Simulator

Trading Simulator

A stock trading simulator with ML prediction engine enabling users to test custom models against real-time market data.

PythonPandasMatplotlibScikit-learnNumPyReactNode.jsMongoDB