Writing on the web

The obligatory first blog post — or "Hello world".

Hello, World

After a few months of procrastinating, I’ve finally come around to building a blog. I see it as my little personal piece of the internet, which, unlike centralized social media, I fully earn.

In that sense, it’s a place where I wish to experiment, where I’ll try out some cool tech I’m interested in, sometimes breaking it, but always learning and having fun. I don’t plan to build a massive audience (I wouldn’t have the knowledge and skills anyway), this space is primarily for myself — when writing here I’ll be the targetted audience, but if it can teach a thing or two to people or inspire them to do the same, then right on!

I’ll share some technical stuff that I learn along the way, but also some fun, light, and less technical topics.

The past few months have been full of learning, and in light of the recent events at Twitter, catering our own personal space and blogging is becoming more appealing than ever.

This website

I’ve owned a custom domain hosting a personal website for a couple of years now, pretty much ever since I learned how to code. Ever since the first iteration of this website I’ve wanted to build a habit of writing and publishing technical content on it, but never took the time to do it.

In the past weeks, I’ve rebuilt this website from scratch, with a completely new design and stack. The previous version was built with Next.js, which is what I’ve been using at my previous full-time job for more than 2 years.

I’ve come to realize that defaulting to the same tech over and over again isn’t a sane way of building stuff for the web. Do I need to ship this 250+ kB of client-side JavaScript for a content-focused static blog? I’ve been playing with Astro and loved the approach of only shipping zero to minimal necessary client-side JavaScript, which is what Eleventy has been pushing for years.

I was willing to experiment with this approach and also wanted to rebuild my personal website, perfect timing!

The stack and approach

The end goal for this personal website is to showcase my work, interests, some pieces of writing, and knowledge that I wish to share in the open. In other words, a content-focused static website.

For this I chose Astro as Static Site Generator, with vanilla CSS based on CUBE CSS methodology, hosted on Vercel, with content served with local Markdown files.

The result is a 100 Lighthouse score, with 0kB of client-side JavaScript.

Moving forward

This website will always be a work-in-progress and will be redesigned regularly (Frontend devs, am I right?), but there are some features that I’d like to add in the next steps:

Until next time! 🐡

Hey there 👋, I'm William, I build intuitive and inclusive websites & User Interfaces, with a deep interest in design.

Feel free to get in touch if you have a project in mind or simply want to say hi, always down for a chat!

Noticed a typo, or wish to improve this post? Edit this page on GitHub.