Powered by?
This site is custom-built, not a hosted blogging SaaS. Content is composed in Markdown (with a basic WYSIWYG editor), it's published as static HTML with no attack surface, no dynamic components needing to be processed, and infinite scaling at minimal cost.
I got tired of dealing with an aging WordPress setup that I was constantly having to apply updates to. I wanted a newer style theme for a long time, but could never find one I liked. For this blog, I decided to build my own engine with only the pieces I wanted. Since it's so easy to build stuff now with AI assistance, I even added in a swappable theme engine. The idea was to create the admin publishing interface that supports multi-tenancy, so I can support any number of blogs or even just basic content sites all from the same backend interface, which is not publicly advertised and is purpose-built.
The current theme I mostly stole - I really liked how clean and fast it was on desktop and mobile, so I just pointed my agent at it and said "I want a theme like that" - and after a couple minutes and some minor tweaks, I had a modern looking, lightning fast, lightweight theme. Now I just need to focus on good content.
Stack in one breath
- Authoring: Markdown in a private admin backend using a custom framework for my applications (I call it "Tablerock")
- Publish: static HTML + assets written to S3 object storage, fronted by Cloudflare
- Search: Pagefind index generated at publish time (
/search/) - Feeds: RSS and JSON Feed
- Identity: schema.org Person / WebSite / BlogPosting JSON-LD
Agent-friendly on purpose
A few small conventions I ship with every publish:
| File | Why |
|---|---|
/llms.txt |
Curated overview for LLMs (llmstxt.org) |
.md next to each URL |
Clean markdown mirror of the same post/page (try appending .md to any permalink) |
/index.md |
Short markdown summary of the site |
/.well-known/security.txt |
Standard contact pointer (RFC 9116) |
/robots.txt / /sitemap.xml |
Ordinary crawler hygiene |
Example markdown mirror: this post as .md.
What this is not
No comments widget, no newsletter popup, no client-side app shell. The public site is files. The publishing interface is the only interesting thing,
If you want the human story behind the migration and tooling, that'll show up as regular posts over time - this page stays the durable "what am I looking at?" reference.