Home

My Projects

Home Server ----- Ubuntu, Bash, SSH, Networking, DuckDNS

I wanted to have a server so that I could run/host applications and deepen my understanding of server management, so I repurposed an old desktop into a fully functional Linux server. I configured it for secure, out-of-state maintenance using dynamic DNS and SSH tunneling, then hosted applications for real users across the country.

It was the kind of hands-on, self-directed project that pushed me far beyond what the classroom ever taught me. When issues came up (DNS failures, SSH access problems, uptime monitoring), I had to troubleshoot the issues without any direction, which taught me more about real-world system administration and networking than any textbook.

Point-Of-Sale System ----- React, Flask, PostgreSQL, AWS, Tailwind CSS

I built this full-stack web application as part of a team, with a specific focus on accessibility. We included high-contrast mode, magnification, and translation features to make the system usable for a wider range of people.

Beyond the technical stack, what stood out was how this project connected user needs with technical design. We didn't just code, we explored, tested, and rethought how features could be easier to use for everyone.

The project was also my introduction to Agile practices like sprint planning and backlog refinement, which helped me think in terms of deliverables, not just lines of code.

Unscrambler ----- C++ GitHub

Was a fun project idea that I got from playing a game with some friends. In the game, every now and then in the chat a scrambled pokemon name was posted and the first to guess the scrambled pokemon's name got a reward. I thought to myself, "I feel like there is an easy way to make a program to solve this," and so I made one.

The solution I came to attack this problem was to map a prime number to every unique letter in the alphabet and then multiply all of the letters in a word together to get the pokemons unique identifier. Once I have a list of every pokemons unique identifier, I can then take in a scrambled pokemon name and do the same thing. The result gives the unique pokemon identifier and then uses binary search to find any that match, theoretically could be multiple if two use the same letters.

This was made as a fun project to help me in a game but it can be used on any list. The program itself takes in a list and makes unique identifiers for the given list so it is not limited just for the this little game.

This project was expanded on my knowledge of problem solving using math as the basis instead of just logic. It also helped me understand how to use prime numbers in a way that optimized the identification process.

Wordle - Java GitHub

This was a solo project where I recreated Wordle from scratch. It supports saving to three different slots, tracks scores, and randomly selects words from a custom dictionary. It may not be flashy, but it’s one of the first projects where I applied class-based design, logic structuring, and file handling to make something interactive and persistent.

64-bit Sequential Architecture Processor - Logism, y86 assembly GitHub

Implemented a 64-bit sequential (non-pipelined) architecture using Logisim. Designed and simulated the architecture, focusing on accurate instruction set execution and efficient use of digital logic components.

Created test scripts in y86 assembly code to evaluate the processor. Tested 3 x 3 matrix multiplication and bubble sort.