Sam Logan profile

Samuel Logan

Full-stack developer and maker

Take a look inside

TL;DR: This site is built on Go with Vanilla JS and Tailwind CSS. Deployed on Azure Container Apps built with ko.


It's been a few years since I cared to update this site, I wanted to apply all the things I've learned since I bought this domain. Starting with the actual server, I had some fun with Symfony on an AWS EC2 instance, but now with go as my preferred language for everything it was time to start fresh.


I also started my real development career with AWS, earning a few certificates to prove I knew something. While I also am now more familiar with Google Cloud Platform, again I wanted to try something new. I loved the experience of deploying web apps to App Engine and Cloud Run, but wanted to see what else there was.

I investigated AWS ECS and App Runner, but since this is just a portfolio site I liked the idea of scaling to zero. So, I searched if Azure had anything like Cloud Run and found Azure Container Apps.


Then comes the actual stuff on the site. At some point, I would buy almost anything on Kickstarter, which is how I ended up with a license for a bundle of icons called Iconic, the domain of which is now squatted on by namecheap. Fontawesome is awesome, and the free version is perfect in every situation that I've needed icons. Their newish feature of Auto-Subsetting is killer for set and forget simplicity.

I've used the two big css frameworks in many projects, Foundation first and then Bootstrap. Again, looking for something new, I settled on Tailwind which has been blowing up lately. The ease of setup, the documentation, and the standard CLI makes it a breeze to get up and running quickly.

Getting online

I think it's weird when people say waiting on-line when they mean standing in a line, like at the bank. Also, no one stands in line at the bank anymore. Anyway, with the decision to deploy to Container Apps on Azure, there's a wonderful tool called Ko, written in go to build your containers from code without any Dockerfile. Ko will also push your containers up to a registry all at the same time. I chose the regular old DockerHub, which is then connected to Azure Container Apps.

Static assets are embedded in the Go binary, the container is build with ko, pushed to DockerHub and deployed to Azure with a makefile command.