San Engineer

Hello, world: writing with markdown

How this blog works — write a file, push, and you're published. Plus the performance budget it lives under.

1 min read
  • meta
  • astro

Why this exists

This blog is a stack of plain files. Each post is one Markdown file in src/content/blog/. There is no database, no CMS, no client-side framework.

Publishing is:

  1. Create my-post.md in src/content/blog/
  2. Fill in the frontmatter (title, description, date, tags)
  3. Push to GitHub — Vercel builds and deploys a static page

The budget

  • JavaScript: 0kb by default, under 15kb if a page ever needs an island.
  • Images: optimized at build time with sharp (AVIF + WebP), lazy-loaded below the fold.
  • Fonts: system stack, self-hosted — zero external requests.

Markdown and MDX

Posts support standard Markdown. Rename a file to .mdx if you need to embed an Astro component inside a post.

---
title: "My post"
description: "One-line summary, max 200 chars."
date: 2026-09-16
tags: ["notes"]
---

Your content here.

Views

Each post counts reads with a tiny edge function backed by Vercel KV. Repeat visits from the same browser within 24 hours are not counted.