How this site is built
A small, fast, secure personal site — Astro components in, plain static HTML out, deployed on every git push.
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
mainon 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.