From Jekyll to Gatsby

For the longest time I didn’t have a personal website. When I eventually got around to it, I made it in WordPress.

At the time I was doing mostly WP dev, so it made sense that a WP dev would have a WP site.

Then I realised that using a CMS as a developer - was conveluted. In my mind, a CMS is to protect the non techincal user from code.

Another reason would be to have access to a all the WordPress plugins like Yaost, but over time I have come to think that those things are unnessisary, plus, there are static options for most things anyway.

A static site would be low maintaince and free to host on Amazon S3 - a big plus for a site that wouldn’t be responsible for much of my lead generation.

I wanted to design it, set it up, then forget about it. Only make a blog post for it occationally.

I had used the static node site generator before, AssembleJS. But Jekyll was popular so I gave that a wirl.

Using Jekyll was brillient. I’ve now had it up for a long time and the maintaince has been barely anything, it’s been hosted for free and it’s blazingly fast.

So why am I switching to Gatsby?

The main reason is probably just curiousity. But there are some other reasons.

Jekyll is Ruby based. Which is fine but I use Node freqently. It feels cleaner to keep everything in Node.

I had some issues will Jekyll. Allthough the maintaince was low, it wasn’t completely plain sailing.

Settings up SASS was way easier with gatsby.

Gatsby is way more hands on. You have to do more and set more up. The complexity of setting up gatsby was much higher, even so, I found it went smoothly.

When you have a lot done for you, its great if what its doing is what you want. But when it isn’t or you want to do things in a non standard way what was simple becomes very hard to figure out.

Gatsby is non-oppionated. It’s complex to set up but then you can do things as you want. So in the end for me it was much simplier.

Allthough it took some time to learn how it worked. I didn’t run into any errors with the enviroment like I did with Jekyll. It was just a matter of learning out it worked not dealing with bugs and package comflicts. It jsut worked.

You have to set up the routing and deal with the frontmatter. That’s all taken care of for you in Jekyll. But then it’s nice having control over this.

Not for a novice

I think it’s best to be somewhat femilar with React and node to not feel lost. But it’s definitely one for developers to setup. But the same applies to Jekyll.


The feedback you get from Gatsby is instant and visually shown.

Kyle Mathews

Written by Zack Allnutt who works as a freelancer in the UK, building useful things in PHP and Javascript.