Today, I can report from my shiny new Ghost editor that over the last few weeks, I've integrated months and even years of plans and ideas into my personal website.
Being one of those people with a few too many projects at any moment in time, it has been difficult to not spend time on advancing whatever project strikes my fancy, but instead work on the meta project that describes and links to whatever I do online (and offline).
I've long admired regular bloggers such as Ben Werdmuller, Juha-Matti Santala and Simon Willison, rich digital gardens such as XXIIVV and Maggie Appleton's, but also creative and fun websites of Indie Web aficionados like Henrique Dias and Aaron Parecki. I've been wanting something like that, and I've been inching towards it over the last years. Today, I think I've made a big step forward by adding a /now page, RSS feeds, a new home page, and more.
Where it came from
To understand where the site is today, it might be helpful to know how my website evolved over the last years. The base of my current website started in 2020. I wanted a simple website at the time. I chose the static-site generation framework Gatsby JS. It started off with some static pages and templates in React, and Markdown blog posts sourced from Contentful. We can question today whether this is indeed a simple setup, but at least the result is static, which was a welcome and big departure from my previous personal site effort from 2016, a PHP monolith built with Grav CMS.
Over the next few years, not much happened to it. I migrated the code base from Gatsby v2, to v3, v4, and eventually, v5. I wrote a few blog posts, but I mostly linked to posts I wrote on other blogs and platforms (Medium, Dev.to, ...). I migrated my Markdown posts over to the Contentful Rich Text format when it became available. In hindsight, I didn't use the features it offered much.
In early 2023 however, I expanded my ambition. I merged in a "portfolio database" experiment using a self-hosted Strapi headless CMS instance, leading to the /projects page. Earlier this year, I added a /notes page using an Obsidian vault.
Over the last month, I've expanded further upon all these concepts, and added new content to my website, too.
Changelog
A new homepage
Most visibily, I have a rethought home page. Where I previously only had an introduction, and a flat list of my blog posts, I now have:
- an extract from my new Now page
- a summary of my last posts on Readup, rendered client-side by fetching data from a custom proxy made with on Deno Edge
- a more limited listing of my most recent blog posts
- some decoration in the form of photos I took (mostly older ones)
- a list of my most recent projects
This homepage is more dynamic, and I hope it will give a richer impression of what I do. For its layout, I've been inspired mostly by Rasmus Andersson's website.
A /now page
I joined the movement of people who write now pages! I've been seeing the concept on more and more websites, such as json.blog, ... and I like the idea.
RSS feeds
This is a major one! I've gotten very much into consuming RSS/Atom feeds over the last months, advocating for them to be available on other sites, and due to this, I've been feeling embarrassed that my own site didn't have a feed.
That omission is finally fixed.
Writing in Ghost
My writing process (for the limited posts I've published) has been messy and scattered. Usually, I document research and write in various Notion pages. I love their minimal yet intuitive Markdown-inspired WYSIWYG editor. I would then painstakingly copy over a post and its assets into a Contentful entry, which would be published via site rebuild triggered by a webhook.
I wanted a more direct way to write and publish. I tried a few options, but I settled on using a self-hosted instance of Ghost as a headless CMS. I really appreciate the focused, auto-saving editor they've put together. I ensured publishing is smooth by rebuilding the site with a webhook.
Ghost will just be used for my posts though. My project descriptions are still written in Strapi (I like to have custom, structured, yet editable data there, which is not all focused on writing). My notes are written directly in Obsidian, because I want the notes to be a public knowledge management system, and Obsidian is built for editing and searching such a repository.
More quality-of-life improvements
- I'm now Mastodon-verified (that was the easiest of all changes on this page)
- I created and added a favicon!
Reflection
Of course, I'm not done now. My personal website will never be done, as my wishes for it will change over time, just like I change over time. There are even still things I'd like to improve on my site right now, but I will accept that it will always be a work-in-progress, and that I don't have to jump straight away on every imperfection, perceived or real.
The main next thing I'm after is an /ideas page. I've tracked some of my ideas, and ideas to contribute to projects, in a Notion database for years. I'd love to publish some of these, especially after seeing the project aboutideasnow.