How This Site Is Put Together
Wanted to write this down before I forget the decisions I made, mostly for my own future reference the next time something breaks.
It’s Astro, rendering everything to plain HTML at build time. Blog posts and project entries are just Markdown files sitting in the repo — no CMS, no database, no admin login to forget the password to. If I want a new post, I write a Markdown file and push it.
The reasoning: I have maybe a handful of blog posts and a handful of projects. A database for that is solving a problem I don’t have. Static files mean the whole site can be built once and served by nginx, which is about as little as can go wrong at 2am.
Deployment is a Docker image running on a Coolify instance I host myself — partly because it’s genuinely simple, partly because “I run my own infrastructure” is a more honest line on a resume than it sounds.
Styling is Tailwind, because I didn’t want to spend an evening naming CSS classes.