← back

Simplifying my website

Recently, I’ve seen a few popular posts on X/Twitter1 mentioning some websites that somewhat jokingly advocate for the return of minimalist/basic web design.

A few of my favorites:

As funny as they are, I actually really enjoyed the idea and it stuck with me. Around the same time, React2Shell, a major CVSS 10.0 RCE exploit (CVE-2025-55182) affecting both React and Next.js, was making the rounds.

Now, something as simple as a personal website probably wouldn’t have been affected by it, but between the satirical websites and the rigmarole of patching my projects and self-hosted software, I decided that there’s no better place to practice simplifying things than my own personal website.

Rationale behind the change

Website screenshot

Website at the time of writing

I want this thing2 to have as little maintenance overhead as possible.

There are other projects I’d rather pour time into, so this site tends to get neglected for long stretches of time. Without dependencies to update or fancy designs to fuss over, I have slightly less of an excuse to avoid vomiting out more posts like this one; scary as that might be.

At its core, this site is just a few lines about me and some contact info. More importantly, it’s meant to represent who I am. If I had a design portfolio to show off or services to sell, this approach probably wouldn’t cut it. But as someone who values simplicity and tries to handle complexity thoughtfully, I think it does the job.

[Top]

How simple is it?

There’s a lot of distance between plain HTML and a full-blown web framework.

The home page is a single ~3 kB hand-written HTML file. The blog has a tad more going on, so it’s built with Hugo. This post clocks in at ~5 kB. Not bad in my opinion, considering the raw Markdown file is already around 3 kB.

To keep things light, I opted for a system font stack instead of loading something from Google Fonts. Specifically, I’m using the ‘Classical Humanist’ stack from modernfontstacks.com.

font-family: Optima, 
    Candara, 
    'Noto Sans', 
    source-sans-pro, 
    sans-serif;

There’s still some JavaScript for a few quality-of-life features:

I know, I know. I couldn’t give it all up. Still, I’m trying to ensure the site remains fully usable without JS. The theme switcher falls back to the system theme using the meta[name="color-scheme"] property and my email address is obfuscated from scrapers using hidden HTML elements.

Everything’s served via Caddy on a VPS, though I could zip it all up and deploy to something like Cloudflare Pages in minutes.

[Top]

Hope you enjoyed the read. Thanks for stopping by.


  1. Didn’t want to dig for more, but I did have this post saved: @birdabo on X, “people forget u can build a whole website with just html.” [View post↩︎

  2. I’ll inevitably get bored and redesign everything at some point, so hopefully the screenshot ensures this post still makes sense when that happens. ↩︎