C#, Kubernetes, Rancher, and HAProxy
[ Project Website ]Nick Web Services is a cloud infrastructure provider service that I created and run. It allows people to deploy containerized versions of their web apps across our multiple servers. It provides geo-distributed high availability by default with no extra configuration needed from users hosting their webapp with us.
Hardware-wise we use old Dell PowerEdge servers running Proxmox. We then have VMs running in Proxmox that run Kubernetes clusters. We have 4 clusters currently: Austin, Hill Country, Schuylkill, and Philadelphia. The deployments are managed through GitOps with Rancher Fleet.
C++ & Python
[ GitHub Repo ]Anthracite is a simple web server written in C++. It currently supports HTTP/1.0 and HTTP/1.1. The benchmarking tools for Anthracite are written in Python. Anthracite is optimized for performance and rivals the performance of NGINX & Apache in our testing. It uses a thread-per-connection architecture, allowing it to process many requests in paralell. Additionally, it caches all files that it serves in memory to ensure that added latency from disk reads do not slow down requests. Through writing Anthracite, I have learned to use different C++ profilers as well as some general optimization techniques for C++.
C#, Kubernetes, SQL Server, and MongoDB
[ Project Website ]CavCash was a company that I founded which built a debit-based payment system similar to PayPal and Venmo. I assembled a 5 person team and took on a technical role in the company, writing most of our backend codebase. Our backend used C#, ASP.NET, Microsoft SQL Server, and MongoDB. Our infrastructure changed throughout the lifetime of the company, initially it was on Microsoft Azure using Azure App Service. We then pivoted to AWS using Elastic Beanstalk. We also ran on Google Cloud Platform using Compute Engine. Finally, we setup our own servers in-house and managed our deployments with Kubernetes.
We launched in 2021, with the ability to send money between real banks using the ACH network. We ended up processing a few hundred dollars in transaction volume before ultimately shutting down due to a lack of funding. The website is now back up and everything works as it did in 2021, except adding funds from a bank account is not supported.
Rust
[ GitHub Repo ]SQUIRREL stands for SQL Query Util-Izing Rust's Reliable and Efficient Logic. It is a SQL database that I am writing in Rust. Currently, it can create tables, insert data into tables, and select all data from a given table. The biggest challenge so far has been writing the parser. My next steps are to add WHERE clauses to SELECT statements, allow column filtering in SELECT statements, and add DELETE statements.
Rust, Postgres, Svelte, TypeScript, and OpenAI's API
[ GitHub Repo ]Olney is a job application tracker that aims to be better than using a Trello board or a spreadsheet. It allows users to create jobs and log custom events such as interviews, assessments, and other communication.
Svelte, TypeScript
[ GitHub Repo ]SEPTA Site is a website that I created which can get your trip history, SEPTA Key balance, and ridership statistics for your SEPTA Key. It utilizes SEPTA's new metro wayfinding instead of their current wayfinding. I wrote the project to get a basic introduction to Svelte and so that I could try to improve upon the UX of SEPTA's current website and mobile app.