Projects

A selection of academic and personal projects I have built to sharpen my programming skills, spanning full-stack web apps, simulations, and algorithm-focused tools. More projects are available on my GitHub.

Smart Scheduler

A web application that helps college students optimize their class schedules using a heuristic tree search algorithm. Users can customize scheduling parameters and constraints, and the platform generates multiple optimized schedules to plan courses more efficiently.

Smart Scheduler screenshot

Particle Based Fluid Simulation

A Java particle-based fluid simulation that uses simple physics rules to create fluid-like motion. Each particle is affected by gravity, wall collisions, and interactions with nearby particles, rendered in real time in a Swing window. Users can interact with the system using mouse input to attract or repel particles.

Particle Based Fluid Simulation screenshot

Huffman and LZ77 Image Compression

An implementation of both Huffman coding and LZ77 compression for image files, including the encoding and decoding processes for each method, so users can compare their efficiency and performance.

Image compression screenshot

Inventory Management Website

A full-stack web application backed by a SQL database, built to help businesses manage inventory, customers, and agents. It supports inventory tracking, purchase management, and sales reporting to aid business organization and decision making.

Inventory Management screenshot

Grid Based Sandbox Simulator

A Java-based 2D particle sandbox simulation that models gravity, fluid flow, and solid interactions. Users can place and modify particles like sand, water, and solid blocks to build a dynamic grid-based environment.

Grid Based Sandbox Simulator screenshot

Touchdesigner AI Emotion Detector

A program that interprets and reacts to human physical input in real time. Using TouchDesigner for visual creation and Python for scripting, the system detects a user's gestures, body language, and facial expressions through the MediaPipe TouchDesigner plugin, then modifies their environment accordingly.

Sudoku Solver and Generator

A Sudoku solver and generator written in Java for standard 9x9 boards. The solver reads a puzzle from a file and solves it using depth-first search with backtracking, while the generator creates a valid board with a specified number of known cells. Boards are stored and loaded as plain .txt files.

Minesweeper

A simple implementation of the classic Minesweeper game. The goal is to uncover every tile on the grid without hitting a mine, where each cell is either a mine or a number showing the count of neighboring mines.

Unity Marble Game

A 3D marble game built in Unity with physics-based movement and interactive environments that challenge players to traverse different courses quickly.