7th June 2021 · 5 minute read
I have been approached a number of times with questions about how I built and manage this website. In this post I cover how I created and published all the content on https://macklin.me.
When I started the project to build a personal website, I wanted to come in with the mindset that I would try to eliminate as many distractions as possible. For me, distractions come in a few forms;
- Technical Challenges: I could happily spend hours trying to configure DNS or perfecting the CSS, but that would be time taken away from writing meaningful content.
- Unfamiliarity with Tools: If I chose a new CMS platform that I have never used before, I would need to invest time and energy to understand it first.
- Focus: I wanted to experiment with using a full-screen, distraction-free writing mode to help me focus for longer periods.
Buy over Build
Like many others this was a project that I had briefly tried before and failed as I quickly got distracted before giving up.
I executed on this mindset by starting with familiar tools and by finding ways pay my way out of having to extensive technical setup. This is sometimes known as a buy over build mentality and is hard adjust to as a software professional who has the ability to build the entirety of this on their given enough time.
I do technical work all day for a living and I value my personal time. Therefore, I have opted for affordable paid solutions where I believe the benefit outweighs the cost.
About a year ago now I downloaded and trialed number of note-taking tools, with the intention of finding a tool to replace Google Keep. Notion ended up being the tool that I ultimately settled on.
Day-to-day, Notion is now one of my most often used apps, thanks in large part for its note-taking and lightweight database management features. Notion was able to replace a number of previously isolated tools such Google Keep, Docs and Sheets.
I also find it fantastic as a content publishing platform due to its minimal, distraction-free interface. I use Notion to keep track of thoughts and ideas for posts I want to write in a lightweight database. I can apply categories and store notes against these ideas and then, when I'm ready to start writing I can also use Notion to draft, review and then publish them.
Outside of using Notion as a CMS, I've also found some success using it for lightweight financial tracking. It has a number of well-considered features that make managing lightweight databases really simple.
Since I use Notion so heavily, I use the Personal Pro Plan with yearly billing for US$48/year (~AU$62/year at the time of writing).
I have been using Gandi.net to buy domains for over 10 years now. I find that domain registrars are mostly the same, so Ive had little reason to switch to anything else. Gandi.net provides a number of extra services such as hosting and email, which I do not use.
Currently, the macklin.me domain renewal cost is ~AU$31/year.
Notion is fantastic but requires a few extra steps to make your content publicly available on a custom domain. There are a number of tutorials on how to publish Notion pages on custom domains for free, but I use a paid tool called Super instead.
Super differentiated itself for me when I discovered it runs on-top of Vercel, a platform for hosting front-end applications with an obsessive focus on performance. Every time the content on this site is updated in Notion, Super automatically generates and hosts a copy on Vercel.
Unlike the free solutions, this results a super fast and responsive site with impressive performance characteristics.
Super additionally enables custom scripts (which I use for analytics), stylesheets, themes, fonts and various SEO features. It also has thorough and relevant documentation and a helpful and creative community backing it.
Super currently costs me US$4/month (~AU$5.17/month at the time of writing). This does not reflect any officially documented pricing, so I'll assume I'm on some sort of early-adopters plan.
It has taken me much longer than I care to admit to finally learn that metrics are a critical tool in the tool belt of any software professional. When I decided to kick-off this project I made an explicit effort to evaluate various analytics tools available before investing any time writing content.
Eventually I landed on Plausible, one of a new breed of lightweight, privacy-focussed analytics tools that grew out of frustration with the status-quo of AdTech incumbents such as Google Analytics.
Plausible gives me all I need in the way of metrics for tracking where visitors come from and what they're reading. It has a small number of basic integrations to enrich its analytics data with search query data from Google and others.
Plausible uses a traffic-based pricing model. It currently costs me US$60/year (~AU$77.50 at the time of writing) and is billed annually.
Google Search Console
Part of the reason I use this tool is because it's neatly integrated into Plausible. Although, part of writing content in a world where a single gigantic tech conglomerate has a monopolistic stranglehold over the search market is the need to eventually use some form of software provided by Google.
This tool is essential for monitoring your sites search engine performance and comes with a number of features to help diagnose and improve anything that might be limiting its potential.
Since it's provided by Google, this tool is 'free' (which is to say it's free in the sense that the terms and conditions say that Google is free to exploit any data I give it for profit).
As of writing, the total cost to run this website is a little over AU$20/month.
As a software professional living and working in Australia, I am lucky to live comfortably enough to afford this expense. I understand that a setup like this is not affordable to everyone but I would encourage those who want to start creating content to understand where benefits most outweigh any cost and to at least try paid options where that might be the case.