Introduction

Some time ago, I purchased this site’s domain name and a few of other TLD’s (what comes after the “.”). One for my own personal use, and the others with the intention of eventually creating my own blog or portfolio. At the same time, I have gradually been distancing myself from social medias and have felt the urge to utilize my own website to create my own ‘profile’. The amazing perk being that I fully own my profile, from the content displayed on a webpage, the underlying code, and the infrastructure hosting it––fully avoiding whatever hellish privacy policy another platform is subjecting me to (I recognize that I am not immune from data collection on my own site that not-so-privately has my name all over it). The only thing preventing me from getting this side-project moving, like all things, was getting it started.

This is a very non-technical technical breakdown on how my site was created. My hope is to demonstrate that now, more than ever, this kind of project is free and accessible to everyone. I felt a nudge to create a ‘social’ space for myself and to invite others into. If you’re reading this, I encourage you to explore the same!

My Must Have’s

To be honest, I didn’t have much clarity on what my blog would look like. I had no clue what content would populate my site, not even a concept of a plan. Where do I even host it? Here is what I knew I wanted, however:

  • Full control over the design and content.
  • My site to be accessible, easy to maintain, and easy to navigate.
  • This project to teach me something new.

Pretty basic requirements! As you’ll see, this leaves many decisions left to be made.

Full Control

I had a rough idea on the change control process I wanted for my site and the methods I had available to host it. I knew I wanted to utilize a Github Repo to deploy my site, implement change process (as insurance so I can revert when I break things), and push changes that would quickly take effect online. As of recent I’ve been doing quite a bit of study and work in Microsoft Azure, so I was heavily considering deploying my blog through one of their many webapp offerings. After some deliberation with Google’s AI, Gemini, I came to a conclusion on the entire spread of my project.

  • I would utilize an easy to use Static Site Generator so I can cosplay being a developer (more on that next).
  • My site would be hosted via Azure’s Static Web App (SWA) service, utilizing their free plan since this is purely a hobby project.
  • I would set up my local dev environment and create my Github Repo, later connecting it to my Azure SWA.

Deployment image

It might seem strange to mention a cloud provider like Azure when tooting my horn on control, but I believe that as long as I am maintaining the code being pushed to the cloud, I have the freedom to push my code to wherever I want. Plus, if we’re ranking my “requirements”, learning something new is probably the highest of my priorities. This is pretty low stakes stuff.

Accessibility and Ease of Deployment

I am not a web developer, and I have zero intention of going anywhere near webdev as a career. Because of this, I like to think this gives me a specific strength in embracing the suck. Jeff Atwood, co-founder of Stack Overflow, wrote in his blogpost from 2012 titled ‘How to Stop Sucking and Be Awesome Instead’:

“The only thing preventing us from being awesome is our own fear of sucking.”

We see this nugget of wisdom everywhere in motivational speeches and TED talks––usually with far more flowery, feel-good wording. Not only does our fear of failure prevent us from achieving our goals, it’s a major obstacle in merely starting something. Even worse, if your project or goal is something publically facing on a portfolio, you’re going to be far more fearful in the initiation, process, and end product. I’m guilty of this.

I mention this because my change management for this site is hilariously awful. I am relying on a framework, Hugo, that does all the design work for me. If any coder saw my work behind this you would hear their facepalm across the world. There’s an unbelievable amount of criticism to be had in the webdev side of this––and this is exactly my point. Take 2 minutes of your time to read that brief article above, it says it all.

My blog’s priority of accessibility wasn’t just for my readers (occasionally my wife), but for me. I’m astounded that this initial blog post looks the way it does, how seamless it was to make this first blogpost and the various pages on my site. I don’t say this because I’m some tech-rockstar, I say it because of how free (I technically paid ~$11 for my domain, purely cosmetic) and accessible something like this is.

Learning and Trying Something New

It is easy to take an evening or two to hash out a project like this. However, the continuous process is where growth takes place. My hope is to continually contribute and refine my site. Try something new, keep at it, and grow along the way!