All notes

1 min read

How this site is built

A small, fast, secure personal site — Astro components in, plain static HTML out, deployed on every git push.

  • #Meta
  • #Astro
  • #Security

This site is deliberately simple under the hood, even if it looks a little futuristic on the surface.

The stack

  • Astro turns reusable components and Markdown files into plain HTML at build time.
  • No server code. Every page is a static file, so there is no database, no login, and nothing to hack on the server side.
  • Vercel builds and serves the site. Every push to main on GitHub deploys automatically.

Modular by design

Everything you see is a component: the header, the section headings, the project cards, the command menu. Projects and notes are just Markdown files with a small, validated block of frontmatter at the top. Adding a new note is as simple as creating a new .md file.

Security choices

  • A strict Content-Security-Policy only allows scripts, styles, and fonts from this domain. No third-party code runs here.
  • HSTS forces HTTPS, and the site refuses to be embedded in frames on other sites.
  • Fonts are self-hosted, so visiting the site doesn’t leak your IP address to a font provider.
  • Links in frontmatter are validated at build time, so only http(s) URLs can ever become links.
  • Dependencies are pinned to exact versions and checked with npm audit.

Motion, responsibly

The animated background is drawn on a single canvas, pauses when the tab is hidden, and switches off entirely if your system asks for reduced motion.