Software Projects

Technical Experience

Languages: Java, C, C++, Python, SQL, HTML, CSS, R, TypeScript, JavaScript

Frameworks/Libraries: Angular, Swing, Junit, Springboot, Bootstrap, Unity

Other: GitHub, Unix, Bash, Docker

Smart Scheduler

Developed a web application designed to help college students optimize their class schedules using a heuristic tree search algorithm. The platform allows users to customize scheduling parameters and constraints based on their needs. It then generates multiple optimized shedules, helping students plan courses more efficiently.

Particle Based Fluid Simulation

This project is a Java particle-based fluid simulation that uses simple physics rules to create the appearance of fluid-like motion. Each particle is affected by forces such as gravity, collisions with walls, and interactions with nearby particles. The simulation runs in real time with rendering in a Swing window, providing smooth and visually appealing motion. Users can interact with the system using mouse input to attract or repel particles dynamically.

Huffman and LZ77 Image Compression

This project implements both Huffman coding and LZ77 compression algorithms to compress image files. The implementation includes the encoding and decoding processes for both methods, allowing users to compare the efficiency and performance of each technique.

Inventory Management Website

This project is a web application attached to a SQL database designed to help businesses manage their inventory efficiently. It provides features for tracking stock levels, managing suppliers, and generating reports to support decision making.

Particle Based Fluid Simulation

This project is a Java particle-based fluid simulation that uses simple physics rules to create the appearance of fluid-like motion. Each particle is affected by forces such as gravity, collisions with walls, and interactions with nearby particles. The simulation runs in real time with rendering in a Swing window, providing smooth and visually appealing motion. Users can interact with the system using mouse input to attract or repel particles dynamically.

Touchdesigner AI Emotion Detector

Created a program that can interpret and react to human physical input in a seamless and intuitive way. By leveraging TouchDesigner for visual creation and Python for scripting, the system detects a user's gestures, body language, and facial expressions, and modifies their environment accordingly. The system makes use of the MediaPipe TouchDesigner Plugin to extract and process the input from the user.

Sudoku Solver and Generator

This project implements a Sudoku Solver and Generator in Java for standard 9×9 Sudoku boards. The solver reads a Sudoku puzzle from a file, then solves it using depth-first search with backtracking. The generator creates a valid Sudoku board with a specified number of known cells, ensuring the puzzle has at least one valid solution. All boards are stored and loaded using plain .txt files.

Minesweeper

This is a simple implementation of the classic Minesweeper game. The goal is to uncover all the tiles on the grid without hitting a mine. The game provides a grid where each cell can either be a mine or a number that represents the count of neighboring mines.

Unity Marble Game

This is a 3D marble game developed in Unity, including physics-based movement and interactive environments that pushes users to quickly traverse different courses.