Writing

About this blog

I've written many blog posts over the years, but this is the first blog I've built and hosted for myself. Well, I say built and hosted for myself, but...

  • The frontend was fairly trivially tweaked from a Gatsby starter project
  • The content is hosted in the Sanity CMS-as-a-service
  • It's hosted on Netlify, which deploys and updates the whole thing automatically when I publish content or push code changes to GitHub.

That's the point though - I own everything that matters and have full control, yet I don't have to manage or run anything. At the same time I get fantastic everything (except my own sub-standard design):

  • Performance is incredible because of Netlify's CDN and the minimal static pages (and pre-loaded links) generated by Gatsby
  • Security is excellent because I'm not running a server that can be hacked, Netlify's CDN is serving static files and Sanity are securing the data in the public cloud
  • If half the world suddenly decided to read my blog at the same time it would handle the increase in scale because it's just static assets on a CDN
  • Assuming realistic readership it costs me nothing to run
  • I get a really good CMS from Sanity that's open source and I can modify it and run my own if I need anything in the future
  • The developer experience is great and I can add anything to the site because I have a full React app hydrated by Gatsby after the initial static page load. I don't have to figure out how to bodge my additions into a theme, or write an ugly PHP plugin for the CMS.

I believe this is representative of the serverless (I'd prefer serviceful - but the battle for marketing buzzwords is already lost) future that's rapidly arriving.

Of course there are some downsides. Gatsby is amazing, but it does add significant technical complexity to what is ultimately just some text and images sent to your browser. The full Progressive Web App with best pracitices implemented for splitting code, styles etc., SEO optimisation and GraphQL for arbitrary content fetching are probably massive overkill for a blog. Then again, blogs are often an excuse to play with new tech, and Google is kind to content that loads fast, adapts to mobile devices and generally does well in Lighthouse tests. Google also likes pages that have AMP versions, and I could add those with a plugin for Gatsby, but I'm not that ambitious about reach with this blog! Another downside is that Sanity may provide an open source CMS but the actual data storage and retrieval code is proprietary. However, the volume of content will be small and I have the ability to export it, so I consider that a worthwhile tradeoff for the flexibility and features of the service they provide.

I expect to write semi-regularly on this blog, and cover topics from technology strategy (from what's going on in Big Tech to how to select technologies for a new project) through development paradigms, tools and frameworks, to development process. If you'd like to read more on these topics you can follow me on Twitter @sorcery_markw - or wait for me to get around to adding an RSS feed to this blog.