Why this portfolio stays static (for now)

Tagsnext.jsarchitecturestatic

A personal portfolio is not a product CMS. Shipping it as static HTML keeps the attack surface tiny and deploys boring — which is what I want here.

Projects, experience, and articles live in typed TypeScript modules. UI chrome lives in next-intl message files. Pages only import @/content getters, so swapping those getters for a headless client later does not force a route rewrite.

I still build and maintain Externa for sites that do need an admin, Public API, and live content. This site simply does not need that loop yet: no draft workflow, no editors besides me, no webhook fan-out. Fast SSG, locale metadata, and feeds without a runtime API is enough.