How I created this site

Static sites are one of the latest fads in the software development world. This site you’re reading was created with Hugo, a static site generation tool.

It, and other tools like Jekyll, generates a fixed static site composed of basic HTML, JavaScript and CSS from a set of simple markup. Markdown is the most common format used, but others are available.

The big advantage of this approach is the simplicity. It’s cheap and easy to serve to a browser because there’s no need for a backend server to store data or do anything complex. It’s an ideal solution for brochure sites or blogs because the nature of the content is mostly static. The rare interactive aspects of the site can be easily created with Javascript because it is simple functionality, such as contact forms or comment threads (using Disqus, for example).

Once you have a static site generated, you need to serve it somewhere that other people can access. The ideal combination for this in my experience is Netlify and Cloudflare. Netlify has an excellent free plan that gives you quick and easy static file serving over HTTPS. Cloudflare offers free DNS and a CDN network so your site cannot be easily taken down.

The final piece of the puzzle is CircleCI. They offer a free plan that supports continuous integration flows. I have used it so that every time I make change, the site is automatically generated by Hugo and pushed to Netlify.

All this code is on Github right now, if you’re interested.

Everything I’ve described is totally over-engineered of course. I could’ve used wordpress.com and set up a free blog there. Or used any one of the many free blogging platforms out there. But I wouldn’t be able to call myself a software engineer if I took the easy, uninteresting route :)