ehsansadeghi.me

Stack

Astro 6.3
Static framework
Preact 10
One interactive island (the contact form)
Cloudflare Workers edge runtime
Host - prerendered HTML
Latin Modern Roman Computer Modern revival
Typeface - the LaTeX-preprint reference
Bun 1.3
Package manager and script runner

Decisions

  1. 01

    Astro + Cloudflare Workers, not Next.js + Vercel

    Prerender everything. Static assets and the Worker share a single deploy. The site costs nothing at idle and serves HTML from the edge cache.

  2. 02

    Preact, not React

    One interactive component on this site. Preact ships ~3 kB of runtime; React would ship ~45 kB. The DX is identical - JSX, hooks, the rest. The choice is invisible to a user; it shows up as a faster first paint.

  3. 03

    Per-page prerender by default

    Every page prerenders. Static where it can be - the configuration mirrors the architecture, not the other way around.

Source - github.com/ehsansadeghi/ehsansadeghi-me-website