Rebuilding my site with Astro
1 min read
After years on WordPress, I finally rebuilt this site from scratch. The goal was simple: something fast, fully static, and entirely owned in a git repo — no database, no plugins to patch, no surprise downtime.
Why Astro
Astro lets me write content as MDX and ship plain HTML. Pages render at build time, so there is nothing to attack and nothing to keep running. Content lives beside the code, which means every post is reviewable in a pull request.
The query layer is tiny. Here is the helper that decides whether a post is live:
export function isPublished(data: PostData): boolean {
return data.draft !== true && data.publishedDate <= new Date();
}
A few things I wanted out of the box:
- Repo-native content — posts are MDX files, versioned with the site.
- Scheduling without a server — a future
publishedDatehides a post until its day arrives. - Dark-only design — one theme, done well, no toggle to maintain.
More to come as I migrate the archive over and wire up the publishing pipeline.