The Stack

What this site's made of.

Framework: SvelteKit

I thought it'd be fun to experiment with a new framework for this. I'd used Svelte briefly before, but I decided to go for SvelteKit since this site is multi-page and I'll want to add more to it later.

Hosting: Cloudflare Pages

Cloudflare Pages is great for speed, once it's actually built. It seems slower to build websites than Netlify, but that's OK, since being able to leverage Cloudflare's massive CDN is much more important to provide speed to the user.

Design: IBM's Carbon Design

I could have gone for the standard Bootstrap or Material Design, but I feel that those designs are so common that it just doesn't make people interested anymore. I wanted to use a design that would feel fresh and interesting.

I feel like I'm the exception to the rule when I say I actually liked Windows 8's Metro Design a lot. I liked the sharp corners and the fluid motion. It seems (especially now Microsoft is moving to Windows 11) that people are abandoning it, however IBM's Carbon Design seems to be sticking to their guns. I took one look and instantly took a liking to it, so here it is on my website.

DNS & CDN: Cloudflare

It seems now that Cloudflare is fast becoming the obvious choice for small websites, with their DDoS protection and CDN. While for this website DDoS protection doesn't matter to me personally, as it's hosted by Cloudflare, the CDN is very important for improving speeds. Plus Cloudflare works hard to ensure website security, e.g. obfuscating emails and so on.

Notes on CDNs

Some site benchmarks massively prioritise using proper CDNs. I tried it, and found they actually made the site slower. The reason was that having data across multiple domains and multiple servers means that there is a lot more overhead in terms of DNS and connecting to a new server, whereas keeping it all on one domain, even if it's just a cache-style CDN like Cloudflare, can actually make it much faster. It managed to save me, on average, 0.4 seconds. I just thought that was interesting.