Categories

  • blog

Tags

  • blog meta update netlify fastmail github jekyll products

Setting up a basic personal site has been on my TODO list for a long time; finally I decided to spend an afternoon on it and just get it done.

While it’s fresh in my mind, I wanted to share what I wanted to accomplish with this site, and based on that, which services I considered and chose for this site.

I was able to do this at a cost of $110 annually, but, there are much cheaper options available depending on your requirements.

What I wanted to accomplish

These are the requirements I had:

  1. I want to be able to share links, contact info, and static content (e.g. any creative work I’m doing, a link to my CV, etc.)
  2. I can use a custom domain and send and receive emails via that domain
  3. I can have a push-button deploy for making and loading updates on the live website
  4. I can easily customize markup if need be

And this was my #1 non-requirement: I don’t want to futz with code or frameworks – i.e. no Javascript, React, Node, Rails, etc.

The services I needed to select were:

  • A domain registrar
  • A medium for managing and authoring content
  • A hosting platform (with easy deployment)
  • An email service provider (ESP) I can use for sending + receiving emails via my custom domain

Services

Domain registrar - Google Domains

There wasn’t any decision to make here because I already purchased my domain from Google Domains a long time ago, and can’t actually transfer it out of Google Domains, so Google Domains is the “winner” by default.

Content authoring - Jekyll

Any web app or framework was out of scope due to:

I don’t want to futz with code or frameworks – i.e. no Javascript, React, Node, Rails, etc.

I first looked into using hosted WordPress, a popular content management system (CMS) that gives you an all-in-one platform and interface for managing your website: you can author, store and publish, and host content from one place. And much more.

WordPress actually satisfies every technical requirement that I listed, but my brief experience using it made me realize I had other requirements that I hadn’t thought of yet:

  • Low complexity to content authoring + customization
    • The main challenge I had with WordPress is that it felt busy and complex. WordPress is very complete, but for someone like me who has pretty minimalist needs in what I want from my site, many of the features it provides – like a block-based page editor – are more complex to me than just using markup or text.

  • Templates / theme should be pretty general.
    • Most of the templates + themes I found, after an hour or more of searching, seemed really specific. There were many pretty, cohesive themes for a portfolio website. Or a business landing page. Or a blog. But if you wanted to pick a single theme for a blog, and a portfolio, the theme might be a bit awkward, and you may then need to customize it a lot to get the style you want.

The short time I spent with WordPress made me think I would prefer to work with very minimal markup and text, and not work with – or work around – block-based editing, and wasting time trying to find a “perfect” theme. It would be simpler to just make a basic site and fill it with theming or styles later on.

I ruled out WordPress and because of my familiarity with Ruby, I gave Jekyll a shot. Jekyll is a static site generator written in Ruby. The way that it works is that you generate your project via the jekyll executable, write your content in Markdown files, and then Jekyll will generate HTML for your website based on the markdown. You can also easily add plugins or themes – Ruby gems – via your Gemfile.

Jekyll makes it very simple to write content in a low-code format, generate browser-friendly markup, and package it for your website – all you need to do is upload your generated website to your website host.

Content management + storage - Github

Since Jekyll only handles content authoring, and not storing that content, I had to solve for that need as well. GitHub works great for this if you want your content stored in the cloud. All you need to do is make a new GitHub repo for your Jekyll project, and then push up your content as commits.

Some hosting solutions also have very good Github integrations that make it easy for them to auto-deploy your website when you commit changes, which is really handy.

Hosting - Netlify

As mentioned prior, a benefit of a CMS is that you solve for hosting, content-authoring, and content storage all at the same time.

I still had to solve for hosting.

I’ve used both Netlify and Vercel before, both of which are a good fit for hosting blogs and static pages stored on GitHub. The main benefits of these platforms are:

  • You can configure all of your hosting-related infrastructure in one place through a pretty simple UI
  • Great integrations with GitHub, so you can rebuild and redeploy your website any time you push changes to your project’s GitHub repo.
  • Good free plans
  • Allow DNS settings, custom email domains, and SSL/TLS on free plans

I picked Netlify because I had more confidence a Jekyll deployment would “just work” with Netlify compared to Vercel.

I thought this because between the search results for “Netlify jekyll” and “Vercel jekyll”, Netlify had actually written original marketing content proving that Jekyll + Ruby deployment works just fine on their platform. Vercel either has not, or it hasn’t been indexed. And the only content I could find appeared to be AI-generated.

A comparison of search results for "netlify jekyll" and "vercel jekyll" shows more content made by netlify than vercel

Email - Fastmail

Similar to domain registration, this was a foregone conclusion.

I already use Fastmail for my personal email at the $50 per year Standard tier, which includes support for custom email domains.

For those who don’t want to use Fastmail, or want to have custom domain configuration through other email service providers, you can use other providers like Google, Microsoft, and others, but I haven’t looked too deeply into their features and pricing as I already have an email provider I’m really happy with.

Costs

I’m paying $110 total, per year, to support this site in its current setup.

  • $60 per year on the jamesboyle.io domain registration, billed annually
  • $50 per year on my Fastmail Standard tier, billed annually1

Even though I’m comfortable paying this amount for some of these services, not everyone wants to or is able to. You can bring costs down greatly by:

  • Picking a cheaper domain. Many .xyz domains are available for under $10 per year.
  • Finding an Email Service Provider and/or plan that is cheaper.
    • Apparently, this plan from GoDaddy gives you Microsoft 365 email for about $24 per year, and includes custom domain configuration.

So, you could accomplish a similar setup for about 1/3 of the cost, and maybe even less.

I’m considering doing a follow-up tutorial or video on trying to reproduce this setup at the lowest possible cost.

Thank you for reading

If you have any feedback, comments, or questions, shoot me an email at contact@jamesboyle.io. Thanks!

  1. While I pay $50 per year for Fastmail, I’ve been using Fastmail for years, so that’s not a new cost just for the purpose of supporting this website. The Fastmail Standard tier supports custom domains already, so, I was just making use of a feature I hadn’t used before.