Logo of a guy sitting at a computer desk


Engineering Manager - Software Engineer
Personal blog by Gabriel Miranda

Creating a static blog in one day

☕ 5 min read

This is my first entry to this blog. I think it's really suited for the occasion, it's a nice experience to share, and it's going to suck. But sucking it's fine! It's my first blog post, there's no way this is going to be the best entry ever, and I'm ok with it.

Let's introduce myself, my name is Gabriel Miranda. I'm an Engineering Manager / Software Engineer from Buenos Aires, Argentina. I'm 30 years old and I was looking to share some thoughts in a place where I can feel them on my own. So I've decided to quit stalling and create my own personal blog.

To start things off I had in mind one thing: I need to finish it in one day (realistically). Nothing about thinking we're superman and doing this crazy convoluted thing of creating our own custom CMS (been there). So I've resorted to already known technologies: react.js, next.js, classless CSS (bahunya), contentful & GitHub, both actions and pages.

I've been working with react.js since 2015 and with next.js since early 2017. Had a couple of years of tinkering around with contentful (and it allows rich text, media, and more), CSS always was my buddy and classless libraries/frameworks made it easier for me. Okay, now what? I need a place to store it. I don't want to pay for this (If I can get around it). So let's build the site via GitHub actions and publish it to GitHub pages (yes, you can do that and even with pages that have a build step like next.js nowadays).

The only thing missing now was an easy (kind of) to-remember URL so instead of having my GitHub page URL it would be more personal. I went with the new shiny .dev domains and used the handle I have in many social media apps, gabmir (as if you wouldn't have guessed it stands for gabriel miranda, duh). The last thing to do was to trigger the action also on a webhook from contentful et voilà. I have a static built on push / publish / unpublish blog and I can write from wherever I want since I don't need to use git to publish an entry. Most of the content will look great thanks to almost no using classes (there's some tiny css in there) and I can share my thoughts freely.

Key takeaways: done is better than perfect, aim to finish things, iterate later. To get things done quickly and successfully, already known tools are your best allies. Don't expect the first version to be the best, it's not going to.

It is clearly not even remotely close to a really good blogging platform and is still missing many features (metadata, open graph, Twitter card tags, RSS, and more). But it's good for now.