← all notes

Astro's hybrid output is what I actually wanted

astrotil

Spent a while picking between output: "static" and output: "server" in Astro before realising output: "hybrid" exists and does the right thing: everything is static by default, and any route that opts in with export const prerender = false becomes SSR.

That means the blog and game pages ship as plain HTML on the CDN, while a single leaderboard endpoint stays dynamic on the Workers runtime. No configuration split, no second project. The opt-in flag is per-route — the mental model just collapses.