Making a Website
I started a blog. Perhaps this will be a project I actually finish?
Published: 2024-09-11 Updated: 2026-03-28
So I started a blog. Or really a website to serve as an online presence, portfolio, and playground. But since writing is apparently good for you, I intend to document my projects and thoughts on various topics (dev-related and otherwise).
Starting with how I made this thing and the why behind some of the decisions.
Blog Platform
I had a co-worker whose first question upon hearing about this endeavor was, “What blog platform did you go with?”
Well, none.
Obviously rolling your own blog platform is a touch silly. You can probably use any number of wordpress plugins, webflow, ghost.org, or other services to generate a blog that has all kinds of fancy features to get you all hooked up with comments and link-backs and social integrations and marketing.
That sounds terrible. I have precious few social accounts as it is and I aim to keep it that way.
The other thing those services get you is WYSIWYG editors. Developers despise those.
Decisions
Static site. Svelte/SvelteKit. Markdown. CDNs. Pico CSS.
Why?
Static Site
Because — let’s be honest — the number of unfinished side projects I have is way too high. I would rather not run a database if I can help it.
Svelte/SvelteKit
40% less code per component on average than React/Next, and much faster to boot. Easily one of the greatest boosts in developer productivity I’ve ever seen. Svelte repackages what you already know (HTML, CSS, and TS/JS) and ties them together in a significantly smoother fashion.
(Also, sorry to Solid, Inferno, and Preact — who all get an A+ for performance — but I just don’t care for JSX. Definitely check them out if you do.)
2026 Note: Love the performance improvements in Svelte 5! But I am not upgrading this.
Markdown
It seems like there are already some good libraries which already exist for this, and the real kicker is having a standard way of describing the post metadata already. Otherwise I may have been tempted to just write the posts in plain HTML/Svelte.
mdsvex | rehype-slug | rehype-autolink-headings
And since we don’t like starting completely from scratch: sveltekit-blog-starter
CDNs
Not that I think anyone will actually read this, but on the off chance they do, I’m not particularly enthused about solving hugs-of-death from link aggregators or DDOS attempts from one of my friends who might think they’re funny.
Probably Fastly.
Pico CSS
Because I just want to write semantic HTML and have it look nice without having to think about it.
Deployment
I run my own deployment infrastructure, which I’m extremely happy with and therefore will likely write a series on it.
The core of it is Coolify.
Wrapping up
I expect to have some individual posts as I implement each of those decisions.