In the past, I spent about 2 years as a freelancer specializing in Wordpress, building custom themes and plugins for clients. It was only logical that my own website was in Wordpress.

However, I'm no longer doing this - I'm now a front-end developer building web applications in javascript. I felt like my personal website should reflect that.

The old website

I still had the old WP website that I hadn't touched for a year or more. I built it using the Genesis framework - but I ripped out pretty much everything and wrote the entire HTML myself, used custom post types and custom settings to gain more control. (That was also my preferred workflow for client projects.)

My old website was marketing-oriented - not very personal, but okay at attracting new clients.

The new website

I was not actively looking for clients anymore, and was a bit sick of the marketing part. I wanted a personal website just for fun - with things like a feed of my travel plans + current location, for example.

I also wanted a blog - again, just for fun, to share my experiences & thoughts. I've had marketing-oriented blogs in the past and I absolutely hate writing that kind of stuff.

I wanted to write all that by hand - preferably in javascript - and to have all the fun integrating it with various APIs and feeds! I also wanted to easily add the blogging part into this - without reinventing the wheel :)

So, in short, I wanted to:

  • build a simple, fast website with a blog;
  • be able to easily access & modify all of the front-end code (and write my own);
  • not reinvent the wheel when it comes to blogging functionality, design etc.
  • easily integrate the blogging part with the code I wrote.

Wordpress was not gonna cut it for that. It had the blogging functionality but it was bulky, complex, and slow.

Plus, I wanted to learn something new.

Why I chose Ghost

I had been eyeing Ghost for a while. It was fast, very developer-friendly, and beautifully designed. So when I decided it's time to sit down and build a new personal website, I knew what to use.

Here are some of the reasons.

Developer friendly.

Ghost allows me to easily write my own HTML, and add the blog content where needed with templating. It uses Handlebars - a templating language - which makes adding a posts loop as easy as:
{{#foreach posts limit="3"}}
 <h2>{{title}}</h2>
{{/foreach}}

Much cleaner that the WP query....

<?php  
$args = array(
 ...
);
$query1 = new WP_Query( $args );  
if ( $query1->have_posts() ) {
 while ( $query1->have_posts() ) {
   $query1->the_post();
   echo '<h2>' . get_the_title() . '</h2>';
 }
}  
?>

Faster.

Ghost is built on Node.js. That's much faster than PHP, which Wordpress uses. Ghost sites perform significantly better than WP sites at speed tests.

Focused on publishing only.

Ghost is also lighter, since it focuses only on blogging. Wordpress is a full-frame CMS that comes with a lot of stuff you don't need for a simple personal website & blog.

Better UI.

Wordpress' UI is full of menus and buttons... Useful if you're building a complex site, but mostly distracting and stressful if all you want to do is write.

Ghost's UI, on the other hand, is beautiful and distraction free, makes me happy to write in here :)

TL;DR

Wordpress is good for client projects and complex websites, but I found it too slow, bulky and limiting for my personal website.

Ghost is faster, simpler and more developer friendly. It lets me build my own website and integrate the blogging functionality as needed, without reinventing the wheel.

The next post is about how I built this website: one-click Ghost install on a Digital Ocean droplet, setting up a local dev enironment & easy deployment to production, adding a feed of my travel plans, a travel map with clickable pins that link to blog posts, and lots of other fun stuff :)