how this site is built
A quick tour under the hood, mostly so future-me remembers how it works.
the stack
The site is built with Astro, which turned out to be a great fit for a project like this:
- Everything is static. The whole site compiles to plain HTML and CSS. No client-side framework, no hydration, nothing to download except the page you asked for.
- Blog posts are markdown files. Writing a new post means dropping a
.mdfile intosrc/content/blog/with a small frontmatter block. Astro’s content collections validate the frontmatter at build time, so a typo in a date fails the build instead of silently breaking the page. - The retro theme is just CSS. Scanlines are a
repeating-linear-gradientfixed over the viewport, the glow istext-shadow, and the blinking cursor is a two-frame animation. It all degrades gracefully and respectsprefers-reduced-motion.
publishing
The source lives in a git repo. Push to main, the site rebuilds and deploys. That’s the whole pipeline — no CMS, no database, nothing to maintain at 2am.
editing this site later
Notes to self:
- New post →
src/content/blog/whatever.md - New project → edit the array at the top of
src/pages/projects/index.astro - Colors → CSS variables at the top of
src/styles/global.css
That’s it. Future me: you’re welcome.