The Tech Stack

There are two main parts to - the home page, and the blog, which is where you are right now!

There are two main parts to - the “home page” (, and the blog, which is where you are right now!


The website is a single Express + EJS application. I started out with the sticky-footer-navbar Bootstrap template, but after making lots of changes it’s not really recognizable as that anymore. I’m certainly not a UI/UX expert by any means, but my goal was to create a simple yet aesthetically pleasing interface.

After a lot of trial and error - which could be an entire blog post - on a couple of other hosting platforms (Firebase, AWS), I ultimately chose Heroku. Deployment is simple with the pipelines feature:

  1. Push code to GitHub and your application is automatically built into a staging app.
  2. When you’re satisfied, promote to master. Heroku Pipeline

GitHub: avojak

The Blog

I chose Ghost as my blogging platform because it’s free, it has tons of easy-to-use features right out of the box, it’s easily customizable, and there are plenty of hosting options. I started out by self-hosting on a Raspberry Pi, however I came across a handy GitHub project which deploys Ghost to Heroku with the click of a button. Since Heroku has a free tier 1, it was a very easy decision to switch.

Even though Heroku is the primary hosting platform, Ghost still leverages AWS S3 under the hood to store data, such as the screenshots in this post.

For the UI theme, I started with the default Casper theme, and then forked it to make a few minor customizations.

GitHub: ghost-on-heroku (A fork), Casper (Also a fork)

  1. Even the “Hobby” tier is very reasonably priced at only $7/month - which I sprung for eventually. 

Some rights reserved

Up Next

Installing ESXi with a USB NIC

Creating a custom ISO for ESXi 7 with a USB NIC

I Am Not a Writer

Hello, world!