
My first year of blogging as a software developer
In 2020 I started looking for ways to building my first blog. I built by own CMS, built my own SSG, but finally settled to use Hugo framework.
Table of contents
I started my first blog in 2020 when pandemic started. I didn’t want to use WordPress because I thought it was too bloated, slow and overall an overkill to my needs.
I looked into other available solutions, such as Hugo, Jekyll, Ghost and so on, but none of them really seemed to fulfil my needs.
I wanted freedom to customise JavaScript, CSS and HTML templates while having an easy to use interface for publishing blog posts.
I quickly began coding my own solution as I hadn’t had a side-project for a while and I wanted to build a solution for just my own blogging needs.
Fast-forwards about a year to summer of 2021, I had finalised building my own content management system using Node.js for backend, Vanilla JS for frontend and Google Cloud & Firebase for cloud services and database.
I was thinking about the future of my self-built content management system and quickly came into conclusion that I am going to open-source it.
I made some changes to the system, so it could be reused easily by almost anyone by simply inserting a service account keys and running the build script.
I published it on Github, had it public for about a week and pulled the plug after being too stressed and anxious of the overhead it brought to my life. I shut down the project after about a week.
At this point, I had realised that running a server, having a database and using cloud based infrastructure was also an overkill for running a simple blog.
All I really needed was a simple static site generator that would generate static html files from a datasource that would have my blog post texts, meta data, links, images and so on. By having a static site, I wouldn’t have to worry about someone hacking my server, database etc.
I went back to looking into Jekyll, Hugo and other static site generators again, this time with a little different perspective. Again, I came out not satisfied, so I spent only a weekend building my own JSON based static site generator.
I migrated my own blog, which I had started using my now deprecated content management system, to my new static site generator and was looking for hosting solutions.
To my surprise, there are quite a few nice providers offering Free hosting for static sites, such as Github Pages, Google Firebase, Cloudflare Pages, Netlify to name a few.
The same day I was comparing these hosting providers I ran into a blog post from Cloudflare stating about the sustainability aspects of their Pages service.
This is when I really started to think about the sustainability of the internet in a completely new way and realised how much overhead internet is having on our planet and our climate because of how much electricity is required to run everything.
I proceeded to host my site with Cloudflare Pages, because their free tier seemed like a good fit for my needs after testing it, and it was very easy to use.
At the moment, I really appreciate the effort I put into building my blog for the past year or so because I can host it completely stress-free from not having a server running, not needing a database, and it being the most sustainable solution from environmental perspective.
During the process, I’ve learned a lot about SEO and technical SEO from reverse engineering CMS and building one myself. I’ve learned about open-sourcing a project and what it takes to do so and how it feels like running a project. I have also learned about sustainability of web.
Moving to Hugo and rethinking my blogging process
As I have moved from my self-built content management system to my own self-built static site generator, I started to rethink my writing process.
I had gotten rid of all overhead of maintainability by moving to SSG, but my writing process was still a little bit sloppy. I had to write all my posts with Apple Pages and once I had finished writing, I would have to convert my texts into JSON files and commit my changes to Git.
This is when I started thinking of ways to getting rid of having to write my texts into Pages and finding ways to write directly to my Git repository.
As I was using JSON formats to structure my posts in Git, it became pretty obvious that I wouldn’t be able to find a good workflow for writing my posts in JSON format very naturally.
I spent some time thinking if I should implement Markdown format to my own SSG, and this is where I decided to just switch to some open-source system and ditch my own project for good.
I kept comparing Hugo and Jekyll for quite sometime and finally chose Hugo as my main framework. I found it quite intuitive to structure my posts within the project and I also found a nice theme called PaperMod for my site.
Now that I had been able to switch to Markdown files with a healthy looking framework backed by an active Hugo community it was time to rethink my writing process even further.
Even as I like spending time in IDE, I like writing with a GUI. I kept comparing Hugo GUIs and currently, I am using Forestry for publishing and editing my posts.
As I keep rethinking my ways of writing and building my blog, I am again really happy how I have everything set up. I am trusting Git for storing all my work while having an automated workflow for publishing an optimised static site to a globally distributed free CDN. All this from a well balanced GUI that focuses on writing.