Quando decidi reconstruir meu portfolio, avaliei várias opções: Astro, SvelteKit, Remix e Next.js. Cada um tem seus méritos, mas o Next.js se destacou por alguns motivos.
Primeiro, o Static Site Generation (SSG). Como um portfolio é majoritariamente conteúdo estático, poder gerar todas as páginas no build time significa performance máxima e custo zero de hosting na Vercel.
Segundo, a otimização de imagens nativa. O componente Image do Next.js gera automaticamente versões WebP/AVIF em múltiplos tamanhos. Para um portfolio visual, isso é essencial.
Terceiro, o ecossistema React. Framer Motion, por exemplo, seria muito mais difícil de usar em frameworks não-React. E a quantidade de componentes e libraries disponíveis acelera muito o desenvolvimento.
Por último, o deploy na Vercel é literalmente zero-config para projetos Next.js. Push no GitHub e em 30 segundos o site está atualizado.
A única desvantagem real é o bundle size — o JavaScript inicial é maior que em alternativas como Astro. Mas para este caso, onde a interatividade é central, o trade-off vale a pena.