← all blogs

September 17, 2026

Building a Static Archive with Astro

How pre-rendered pages, typed content, and a little Supabase keep this vault fast and cheap.

  • astro
  • supabase
  • static
A warm gradient banner

An archive mostly reads. That makes it a great fit for static generation: the pages are built once, served from an edge cache, and cost almost nothing.

The shape

  • Astro pre-renders every route at build time.
  • Typed content collections keep frontmatter honest.
  • Supabase stores the PDFs and their metadata.

Why not a full server

There is no login, no cart, no per-user state. A server would only add latency and a bill. The one dynamic corner — the academic explorer — is a single island that talks straight to Supabase.

const { data } = await supabase
  .from("academic_resources")
  .select("*")
  .order("year", { ascending: false });

The result

Nine static pages, a handful of tiny islands, and a build that finishes in under two seconds.