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

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 Link

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 Link

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 Link

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.

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 Link

Analysis of data using the Pandas library in Python.

  • Used PostgreSQL and Pandas to analyze data
  • Created visualizations using Tableau to present results