HomeAboutProjectsContactMy ProjectsLinux ServerI created a personal Linux server to get away from Google's monthly subscription for storage, and ended up making it something far bigger than I first imagined. My server uses Nginx with HTTPS encryption using the Let's Encrypt plugin. This allows all my web services to be protected with HTTPs encryption even if they don't natively support it. I use Docker to host a Nextcloud instance which acts as my Google Drive replacement (It supports automatic photo uploads, automatic desktop sync, calendar sync, instant messaging, etc!) I run PhotoPrism for my photo library which ties into Nextcloud for automatic upload (I also run Nextcloud Memories) for a Google Photos-like experience. I run Jellyfin through Docker to stream my music library to my phone. The music library is managed through an external folder on Nextcloud. I also run Open WebUI to interface with Ollama which acts as a self-hosted LLM interface. I also host a Minecraft server through docker for my friends which can easily be managed through the compose file. Each service is routed to a subdomain through my Nginx reverse proxy, which uses a Digital Ocean droplet to provide another layer of security between my home network and the internet.Typing-Test-CI wrote this program in C with the goals of clean code, proper memory management, and learning C. Typing-Test-C is a terminal based program which uses the ncurses library. The program works by providing the user with a prompt of words, which they type as fast as they can. Once completed, it prints the user's performance to the screen and saves the results locally, which can be viewed in the Stats page.Engine SwapThree weeks before the start of my Sophomore year my (not so) trusty 2008 Mazda 6 spun a bearing in the engine. Unable to afford replacing the car or having a mechanic replace the engine for me, I decided my best option was to try replacing at home. Click the link above to see see where my car journey took me.Portfolio WebsiteYou're here now! Created using Next.js, my goal was to create a clean looking, easy to navigate portfolio to show off my skills and projects. Currently being self-hosted on my personal server through a self-made docker container. Click to see my design process as well as my previous iteration.Java Typing TestMy first attempt at creating a typing test program. A program designed to improve user typing speed an accuracy. Written in Java using the AWT library for graphics. Object was demonstrating Java skills, learning AWT, and creating an intuitive user-interface. This was written over my 2021 winter break. The program keeps track of each key and shows the user which keys take them the longest to press and which they mis-type the most.