Choosing output: "export" in Next.js is a commitment. It means no API routes,
no server actions, no middleware, no per-request anything. All data is known at
build time or it does not exist.
What I gave up
- Runtime personalization
- On-demand revalidation
- Anything that reads the incoming request
What I gained
- The site deploys as plain files to GitHub Pages
- There is no server to pay for, patch, or page me at 2am
- Every route is a cacheable, CDN-friendly HTML document
The honest part
For a personal site, none of what I gave up matters. Matching the tool to the job — a static site for static content — is itself the signal I want to send. The restraint is the point.