Developing a Blog To Get Ahead, Part 1

Published by Simon Hawkenson on the 30th of June, 2022.
Cloud/DevOps/IT
Software Development

Quite a few people have aspirations these days which require a good understanding of how to use technology to their advantage. Especially if their venture needs any form of marketability. I fall into this category as well.

I have aspirations to build a company that is heavily involved in web development, something which I have been working on for a while now. The problem here is that it is next to impossible to start from scratch. And trying to tackle such a large project in one go would be so exhausting to guarantee burnout.

In the past, I have talked about how success is momentum[1]. But it’s perhaps a little more than that. It is a knowledge-base that you build, a set of projects from which you can borrow, it’s a framework of systems that keeps you organised. It’s a network of people who you can rely upon. All of these things make bigger projects feel smaller, because you have already set much of the foundation for the project.

From this perspective, my first step was developing a blog. I have always enjoyed writing, and I knew that it would teach me topics (and give me reference material) for work that I want to do later. This is the real advantage of keeping control over the ownership of your work. You can rely upon it regardless of any job. And I knew that I would- I have already started using this code and infrastructure, as a starting point for another project. But for now, lets stick to the details of this blog.

Note: Yes, I know, this page is not complete. It’s not even an article yet. But I really wanted to put something under the projects section of this site to display the work that I’ve done.

This page will be periodically updated to provide more information as I go. I am publishing this early only to be able to fill out the projects section of the site.

This article is currently in heavy development, and is not yet complete.

Table of Contents

1. Strategy

When I first started working on this, there were many options available to take. But I keeping in mind my strategy for the future, I was able to narrow down the options. Here are the most relevant choices I made:

  1. I wanted it to be react-based in order to learn the framework for other projects.
  2. I wanted to learn a CSS framework called TailwindCSS for other projects[2].
  3. I wanted it to be a statically generated site for performance, security, and low-cost[3].
  4. I wanted the backend to be as easy to manage as possible.
  5. I wanted the site to look and feel good. I wanted heavy emphasis on the text formatting for easy reading and comprehension.
  6. I wanted it to be dockerized to keep a consistent environment and to standardise the build process[4]. This later became extremely useful[5].

1.1. Front-End Framework

React is complicated. Or at least that’s how it appeared to me at the time. I decided to use a framework called NextJS[6], built on top of React to build my front-end instead. Not only was it easier to learn, it came with a bunch of advantages as well: particularly the static site generation.

1.2. Hosting

  • Cloudflare Pages

1.3. Backend

  • Strapi

I started my focus on how the data would be stored and accessed. In my experience working on software projects (which is not yet comprehensive), the method in which you store and access your data is often the most critical aspect of the project. No matter how good everything else is, if you don’t nail this down, your project will blow up. All of that is to say that I didn’t want to create my own backend when I didn’t need to. There were many projects which can provide you with this functionality. The one which caught my attention was Strapi.

1.4. Text-Formatting

  • Markdown-It

1.5. Development Environment

2. Getting Started


  1. I describe the great momentum which I have built, and then eventually lost in my article about my experience surrounding PolyUnity. Take a read if you are interested. https://sihawken.net/blog/polyunity-an-exercise-in-bad-faith ↩︎

  2. The CSS framework which this site uses: https://tailwindcss.com/ ↩︎

  3. I wanted it to be a static site. Around the time that I began working on the site, many new free web-hosting services for statically generated sites began to appear. This was known under the name of the JAMStack: https://jamstack.wtf/ ↩︎

  4. I already had a lot of experience working with docker, particularly for Raspberry Pi IOT projects. The more I use docker the more I love the technology. Do you want to spin up a service including all of its dependencies and environment with one docker-compose up command? Check out https://www.youtube.com/watch?v=eGz9DS-aIeY to learn more. ↩︎

  5. I was developing my site locally on my computer for a long time before an (MSI) UEFI update bricked it. Fortunately, I had all of my code backed up on github. I was able to get my development environment up and running on an Always Free Oracle Ampere (ARM) VPS instance (https://www.oracle.com/cloud/free/) with a simple docker-compose up command. It was magical. It is now running on a system with a completely different architecture without any fuss. Docker is a great tool. ↩︎

  6. Link to NextJS: https://nextjs.org/ ↩︎

Some good links.

Simon Hawkenson. All Rights Reserved.