After a few months of dragging my heels with regards to this site, I have finally managed to put together something I’m fairly happy with. I’ll probably tweak it and mess around for the next few weeks but welcome to the new Gredo website.

Going freelance full time has been something I’ve wanted to do for a few years now. Earlier this year I finally plucked up the courage to hand my notice in and take the plunge into the freelance world. Working for myself is what I’ve always wanted to do, and along with my passion for the web is one of the reasons that I was drawn to the web development world.

And as you can see Gredo is back. Those who have known me for a while will know that Gredo was the agency name I came up with when I was 20. The brand has changed and developed over the years, and until this year disappeared completely. Now I’ve refreshed the brand and brought it back, all thanks to a friend who pushed me to use Gredo rather than come up with a new generic domain name.

New Look Gredo

The site build

This little section is for those of you that are interested in what I used to build this website. I won’t get too technical, but feel free to skip it if you don’t want to read geek :) .

I’ve built a few websites in Wordpress, which seems to be the go to CMS for building any kind of site these days. Originally I was going to use that, but I decided not to for a couple of reasons. The first being that I really want to move away from Wordpress and PHP development.

I’ve been focusing on Javascript over the past couple of years and I honestly feel the that the web will move towards a more Javascript centric landscape. This is due to the release of Node.js that has pushed the possibilities of Javascript forward and moved the language to the server.

The second reason is I wanted this site to be fast. Not just an acceptable “oh look the site passed the Google pagespeed test”, but to actually feel fast. I wanted it to feel instant. And I’d like to think that I’ve managed to achieve that. I believe the projects pages need a little work and I will improve those over the next couple of weeks, but for the most part the pages of this site load ready to use in less than 300ms on a decent 3G connection, and fully load within 800ms. Once cached though the pages load in under 200ms with assets fully loaded under 500ms.

100% on Google Page Insight

One of the easiest ways to do this is to remove the CMS altogether. Just serve static files. There’s nothing quicker. There are a number of ways you can do this, for example cache constructed pages on the server using something like Vanish. I’ve opted to only host the static files though. I’ve used Hexo as my build service on my local machine. I like to write my posts in Markdown so it’s the perfect fit. It’s also built on Node.js. It’s basically Jekyll but using Javascript instead of Ruby.

I can create all the pages using templates, partials and SASS (I don’t want to actually hand code every page) and then Hexo builds the pages into static HTML and CSS ready to deploy. I then use GIT to deploy to the server, where a hook is waiting to checkout the latest files and place them in the correct place for Nginx to serve. Simples!

To wrap it all up I use LetsEncrypt to sign the TLS certificates and ensure I’ve enabled all the caching and Gzip functionality of Nginx to serve a lighting fast website.