Project #1: Web Development
This website is one of my first programming projects. I am hosting the site on a Raspberry Pi 5, a computer smaller than a cellphone that runs 24/7 in my home and receives web traffic (like you, dear visitor) through my router. The entire setup cost about $100, and it already paid for itself considering the subscription fee I'd pay a company to host my website.
My two major goals in this project are to become "fluent" in the Unix command line and to gain experience with every step of web development. To facilitate this, I do everything through the command line, despite the Pi 5 having plenty of power for a smooth GUI. I use uncomplicated firewall (UFW) and fail2ban to help protect my home network, along with some other nifty security tricks I won't disclose to keep visitors safe.
On the software side, I am using Nginx, a popular, lightweight web server that's perfect for serving static content, like text and images. I wrote the pages myself in HTML and CSS. Although I have a decent amount of experience with HTML via a newsletter I'd write for Nucleate, I often use GPT-4 for boilerplate styling and SEO.
While calling this full-stack web development is technically true, it is also tongue-in-cheek. I know hosting and coding a static website is a far cry from being a web developer. I've yet to seriously work with JavaScript, React, SQL, et cetera, but I've loved the experience and accomplished my two goals: I am much more comfortable with the Unix-based command line and the core concepts of hosting a website. It's an added bonus that when I finally looked up from the terminal, I had a decent website looking back at me.
