Post · 9 de março de 2026 · 1 min

Por que estou reescrevendo meu blog em Astro

Um breve passeio pelos trade-offs: static-first, arquitetura de ilhas, e manter o orçamento de JavaScript no cliente próximo de zero.

No ano passado meu blog rodava em Gatsby. Funcionava, mas o orçamento de JavaScript crescia continuamente e as notas do Lighthouse caíam junto. Eu queria HTML estático, JS mínimo e um pipeline que tratasse matemática, código e diagramas como cidadãos de primeira classe.

A stack

Astro como SSG, Tailwind v4 para utilitários, remark-math + rehype-katex para LaTeX, e Pagefind para busca client-side. Tudo pré-renderizado no build.

export default defineConfig({
  output: 'static',
  integrations: [mdx(), preact(), sitemap()],
});

O único JavaScript enviado ao navegador vive em quatro ilhas explícitas (command palette, theme toggle, comentários, analytics). Páginas que não usam essas ilhas entregam 0 KB de runtime JS.

As notas do Lighthouse voltam a ser 100/100.