How I built this blog

This site is intentionally simple. The whole thing is a handful of files, it ships almost no JavaScript, and publishing a new post means adding one Markdown file.

The stack

  • Astro — a static-site framework built for content. Pages render to plain HTML at build time.
  • Markdown — every post lives in src/content/blog as a .md file.
  • Vercel — connected to the GitHub repo, so every push to main rebuilds and deploys automatically.

Writing a post

Create a file like src/content/blog/my-post.md:

---
title: 'My post'
description: 'A one-line summary.'
pubDate: 2026-06-22
tags: ['ideas']
---

Your writing goes here.

Commit, push, done. To keep a post unpublished, add draft: true to the frontmatter — it’ll show up locally but won’t build in production.

That’s the whole workflow. The friction is low enough that the only thing left to do is write.

  • building
  • web
← All writing