Projects
Overview
These are some of the projects that I have worked on in the past. Some of these are personal projects, while others were done for classes or internships.
While the home page has a recent and relevant project showcase, this is a comprehensive collection of my projects.
Each project has it's own page as well that goes into more depth about it's purpose, what I learned, as well as personal challenges and experiences.
Current Projects
Future Projects
- ObsidianMD Plugins
- Godot Engine Game
Software Development
UnitED Caclulator
Calculator that performs calculations across different unit types.
- Followed an agile (Scrum) process to create a complete software product
- Worked with a team of 5 using Git and GitHub
- Utilized software design principles and worked to maximize cohesion and minimize coupling
- Worked with a stakeholder to refine requirements
Navigation Application
Navigation Application with real-time updates, map matching, and route relocation
- Used object-oriented principles to model geographic shapes, street segments, and intersections
- Applied design patterns such as the Observer and Model-View-Controller
- Developed visualizations using Java Swing and Java 2D graphics
- Utilized pathfinding algorithms and GPS data parsing for dynamic routing
- Developed map matching and route relocation features to adjust routes based on real-time data
Web Development
Portfolio Website
Website that was created to showcase my projects and skills.
- Created a sleek and modern design focused on simplicity
- Created a responsive design
Pantry Panic Website 
Website that provides you recipes based on the ingredients available.
- Worked with a partner using Git
- Created a responsive design
- Leveraged API calls to display data
Bots
LeetCode Discord Bot 
Discord bot that facilitates active LeetCoding and contest participation.
- Designed, implemented, and used a Database using SQLite for efficient storage and quick lookups.
- Used the LeetCode API to get related information
- Utilized software design patterns such as the Observer pattern
- Self-hosted the bot 24/7 on a Raspberry Pi
Systems Programming
Mini-Y86 CPU Simulator
A Mini CPU Simulator for the Y86 architecture.
- Implemented Mini-ELF file validation and segment loading
- Created a disassembler for variable-length Y86 instructions
- Developed full CPU simulation implementing all stages of the von Neumann cycle
Duke Shell
Unix-style shell with custom utilities, piping, and environment variable management.
- Built interactive + batch shell modes using fork(), exec*(), and dup2()
- Created custom versions of ls, chmod, head, cat, env, and more
- Implemented piping, variable parsing, and command chaining
- Wrote scripts to test shell behavior and validate output
DHCP Client & BOOTP Packet Parser
Simulates DHCP client behavior with custom BOOTP packet encoding, option parsing, and raw UDP communication.
- Built full DHCP discovery process using raw socket programming and UDP messaging
- Parsed and constructed BOOTP packets with custom struct handling and byte-level manipulation
- Implemented option field parsing for key DHCP fields (subnet mask, router, lease time, etc.)
- Simulated client-server interaction for IP address negotiation and configuration
Utilities
Mad Zip File Compression Utility
Custom file compression utility using Huffman Coding, comparable to 7-Zip and gzip.
- Built Huffman Trees using a deterministic Min-Heap for consistent encoding/decoding
- Wrote comprehensive unit tests to ensure accurate compression and decompression
- Serialized compressed data into custom objects storing frequency maps and encoded bitstreams
TXTMET Utility
Command line utility to provide certain metrics of a TXT file.
- Used
getopt
to implement command line functionality - Implemented appropriate error handling based on input
Data
Intel Data Analysis 
Analysis of data using the Pandas library in Python.
- Used PostgreSQL and Pandas to analyze data
- Created visualizations using Tableau to present results