New design, now on Jekyll!
Welcome to my new personal website! I was very reluctant for a while to work on it, with the decision fatigue that follows from many options available. Some intensive planning and experimentation was made to decide on a final choice. From running an Amazon S3 bucket for extremely low-cost static hosting, to static site generators like Pelican and Hugo, and newer ways to host like GitHub Pages which automatically deploy repositories with Jekyll. I wanted to ensure that this project would be one that would generate useful experience and skills to learn from!
The previous website design was very barebones. A nginx webserver using the Skeleton boilerplate for super simple front-end design, responsive and extremely light. The webserver itself on Amazon Web Services’ Linux AMI distro on a t2.micro
instance offered for free, thanks to the GitHub Student Developer Pack and extension in credits through the AWS Educate program!
Through this experimentation which started two years ago, I expanded my knowledge greatly and became comfortable with command-line interfaces. Stumbling into the world of early sysadmin knowledge, I have come a long way from simply understanding Git, SSH, and SFTP, and security practices.
My website now directly generates webpages through Jekyll which is then built to my nginx webserver behind CloudFlare for caching and risk mitigation. I did not go with GitHub Pages deploying Jekyll. A quick deployable app through similar services like Heroku and Netlify was not my end goal. As for Jekyll, I realized quickly what a useful application it can be. Compared to manually creating html pages and redirecting links, the process is entirely automated while still very minimal in resources and processes. All in less than a second from changes being made live. There is no content management system like WordPress, and as a result, this reduces the amount of vectors for software vulnerabilities and bad actors.
This design, as well as the previous, was purposely kept from unnecessary scripts and libraries. Aiming for a Lighthouse score of 100, you probably noticed that the webpages load quickly, regardless of what device and connection you are on.
As I begin with more small projects like this, one thing I have learned is to have a specific goal in mind; and to keep it simple!
My next goal is to identify and implement web analytics that respects privacy by not identifying and track visitors, while remaining minimal in resource use.