# How this site is built
Built with Astro
This site is statically generated with Astro. No framework runtime ships to the browser — it's HTML and CSS with a few KB of hand-written JavaScript for the theme toggle, scroll reveals, and cursor caret. That's the whole point of the score below.
## Lighthouse
100
Performance
100
Accessibility
100
Best Practices
100
SEO
Target scores — verify the live site on PageSpeed Insights ↗.
## Stack
- Astro v6 — static site generation, zero JS by default
- Vanilla JS — theme toggle, IntersectionObserver reveals, cursor caret
- Self-hosted fonts (Inter + JetBrains Mono) — no third-party font request
- Web3Forms — serverless contact form
- Vercel — static hosting on a global edge network
## Build output
$ npm run build [build] 6 page(s) built in 2.52s [build] all routes prerendered to static HTML [build] client JS shipped: ~2 KB total (theme toggle + scroll reveal + cursor caret)← cd .. (back to README)