The Tech Stack
This site is not only a personal website, it is also a software development and DevOps exercise. I am, after all, first and foremost a software developer and wanted to have 100% control over the website's architecture, easy-to-setup local, staging and production environments, proper version control, CI/CD with automated testing and automatic publishing.
The Code
For the actual coding framework I chose Gatsby. It enabled me to focus on frontend only and use tools I was already somewhat familiar with, namely, React and MUI. For a developer it offers a really nice way of building a website and completely fulfilled my requirements regarding control and testability. Most of the code written by me is quite blunt page-specific code but I did end up refactoring some of it into reusable components with automated tests.
![code and tests](/static/b22a6c0bc657acf37628c0e17fe40ea1/e8bba/veikkofi-editor.png)
The CI/CD
Automatic building, testing and deployment is done with GitHub Actions. They serve my limited needs perfectly and I do not have to add separate CI/CD service to my project.
![CI/CD with Github Workflows](/static/de8edff98001aeb0419324d4460d446f/b490f/veikkofi-cicd.png)
The Server - Staging & Production
The public site (at the time of writing, a public staging version) is run at Fly.io. Gatsby itself offers hosting too and - as my site is purely a frontend - I could have chosen surge.sh as well but for some reason I like the idea of having control over the container the service is running from and I like Fly.io's user interface and scalability options.
![code and tests](/static/b2af7c13a73a6800c4235a3e81909777/3e5df/veikkofi-flyio.png)
![code and tests](/static/e5494314cb49111e25c3614ee7cbcb46/3e5df/veikkofi-flyio-stats.png)
The Monitoring
Although I run the site from Fly.io and really do not have to worry about servers or infrastructure I do want to have basic monitoring set up. For that purpose I picked Better Uptime. Their free tier seems to offer a really nice bang for the (0) $.
![code and tests](/static/493d74c682d6701f9b1a18fa716de868/25293/veikkofi-monitoring.png)
Credits
A huge part of software development nowadays relies on open source software and utilities created and maintained by a crowd of individuals and companies.
Here I especially want to acknowledge people creating high quality graphics and icons for us to use.
Photographs
I have used my own photograps and my profile photographs were taken by Mari @ Studio SightHound but I also use images from talented people in Unsplash .
I do my best to keep these lists up to date :)