Ir para o conteúdo principalIr para projetos
<jgbriel.dev/>
Voltar

jgbriel.dev — Portfolio Pessoal

jgbriel.dev — Portfolio Pessoal

Portfolio precisa fazer duas coisas ao mesmo tempo: convencer recrutador em 10 segundos de scroll e servir como prova viva de frontend craft. Se o próprio site que apresenta meu trabalho for lento ou genérico, a mensagem se contradiz antes de alguém ler a primeira linha. Construí como static export Next.js, com React Compiler eliminando memoização manual e design tokens 100% OKLCH sem exceção.

O Desafio

Audiência dupla (recrutador BR e cliente internacional de freela) sem duplicar o site, portfolio que é vitrine de performance não pode ser lento, e custo de hosting tinha que ser zero.

A Solução

Static export (output: 'export'), zero SSR, zero server actions, zero banco de dados: o locale vive na URL (next-intl), então cada idioma sai como HTML estático. Radix UI + CVA em vez de shadcn/ui, para mais controle sobre o markup final sem dívida de copiar-colar componente. CI valida type-check, testes e build a cada push; o deploy roda pela integração Git do Cloudflare Pages, com 2 ambientes (produção + preview automático).

Resultados

Custo de hosting R$ 0 (Cloudflare Pages, free tier)
Zero memoização manual, delegada ao React Compiler (React 19)
2 ambientes de deploy: produção (main) + preview automático em branches secundárias
Design tokens 100% OKLCH, zero valor arbitrário do Tailwind

Funcionalidades Principais

i18n pt/en com o locale na URL (next-intl), sem string hardcoded em componente
Dark/light mode com tema Amber Minimal
Blog nativo via MDX, sem CMS externo
Contato via Cloudflare Pages Function (Resend), com Turnstile e honeypot contra spam
CI com type-check, testes e build a cada push; deploy pela integração Git do Cloudflare Pages
Seções de projetos, experiência, educação e tecnologias

Sobre o Cliente

Projeto pessoal desenvolvido para apresentar trabalho, habilidades e experiência. O próprio site documenta suas decisões técnicas nesta seção.