Por que migrei o site pra Next

O site era um SPA em Vite + React, servido como arquivos estáticos. Funcionava, mas cada ideia nova de tela virava fricção.

Migrei pra um único app Next (App Router) que serve de plataforma: o blog é a primeira tela nova, e admin/painéis entram depois sem repo novo.

Roteamento por idioma

Cada idioma tem URL própria, com hreflang:

export function generateStaticParams() {
	return locales.map((lang) => ({ lang }))
}

O conteúdo dos posts mora em MDX, versionado junto com o código.