Colophon
Notes on how this site is built and deployed. The page itself is the artifact.
Build
Hand-written, no framework
- Static HTML and CSS, hand-written in a single file per page.
- System fonts only —
ui-seriffor body,ui-sans-seriffor UI,ui-monospacefor code. No webfont requests. - Zero JavaScript. Dark mode via
prefers-color-scheme, no toggle. - Total payload under 4 KB gzipped per page.
Deploy
Containerised, Kubernetes
- Small
Deployments on a k3s cluster — this site, the blog, and a catch-all backend for unknown hosts and errors. - Traefik handles ingress, TLS termination, routing, and response headers; the pod itself is a small static file server and nothing more.
- Built and deployed by GitLab CI/CD; image tags pinned to the commit SHA. No
latestin production. - The status page is intentionally hosted elsewhere — status.romandanko.sk. When this site is down, it isn't.
Privacy
Nothing watching you
No client-side analytics. No cookies. No third-party scripts. No fonts loaded from CDNs.
The server's access logs (IP address, browser user agent, referring page) are kept for 90 days, for operations and for aggregate readership counts such as views per post. They are not shared. Details: privacy.
Source
Available on request
The site and blog live in one GitLab repository that builds the container images. The deployment lives in my infrastructure repository, which records each image tag in Git before deploying it. I'm happy to share read access on request.