June 10, 2026 · 2 min read
How this site is built
by Ark Valley Technologists
·A site for technologists should have its hood easy to pop. Here’s everything under ours.
The stack
- SvelteKit with
adapter-static— every page is prerendered to plain HTML at build time. No servers, no cold starts, nothing to patch at 2am. - Tailwind CSS with a custom palette (
river,sunset,pine) and the typography plugin for post bodies. - mdsvex to turn markdown files into Svelte components, frontmatter and syntax highlighting included.
- Self-hosted fonts via Fontsource — Fraunces for display type, Inter for everything else. No third-party font CDN in the request waterfall.
Static all the way down
Builds land in an S3 bucket fronted by CloudFront, all managed with Terraform. A small CloudFront
function rewrites clean URLs to the index.html files that the static build produces, which is
why every path on this site ends with a tidy trailing slash.
Deploys are a GitHub Actions workflow: push to main, the site builds, and aws s3 sync ships
it. That’s the whole pipeline.
The blog pipeline
Posts are markdown files in src/posts/. At build time a glob import gathers them up, reads
their frontmatter, estimates reading time, and sorts them by date:
const modules = import.meta.glob('/src/posts/*.md', { eager: true });
export const posts = Object.entries(modules)
.map(([path, mod]) => ({
slug: path.split('/').pop().replace('.md', ''),
...mod.metadata
}))
.filter((post) => post.published !== false)
.sort((a, b) => (a.date < b.date ? 1 : -1)); The blog index, the post pages, the RSS feed, and the sitemap are all generated from that one list. Adding a post means adding a file — nothing else to update.
Comments without a backend
A static site can’t store comments, so we lean on GitHub: giscus maps each post to a GitHub Discussion and renders the thread in an embedded widget. Free, open source, no ads, no tracking — and moderation happens with normal GitHub tools.
Poke around
The whole thing is in the repo. PRs welcome — that includes blog posts, which get reviewed like any other code.