Todos os projetos

em produçãobernardoiannini.com2026

bernardoiannini.com · Este Site

Este portfólio é um site estático escrito à mão em HTML, CSS e JavaScript puros, sem nenhum framework na stack. Cada decisão visual vive num design system próprio guiado por tokens CSS, e a camada de movimento roda em GSAP 3 com ScrollTrigger e rolagem suave via Lenis.

HTML5CSS3JavaScript (vanilla)GSAP 3ScrollTriggerLenisNode.jsMarkdownSupabaseVercel

Sobre o projeto

Este portfólio é um site estático escrito à mão em HTML, CSS e JavaScript puros, sem nenhum framework na stack. Cada decisão visual vive num design system próprio guiado por tokens CSS, e a camada de movimento roda em GSAP 3 com ScrollTrigger e rolagem suave via Lenis. Tire o GSAP e o site continua funcionando de ponta a ponta.

A troca EN/PT é um motor de i18n escrito do zero: o site inteiro muda de idioma sem recarregar a página. O Newsroom é compilado no build por um script Node que transforma Markdown em páginas estáticas, gerenciado por um painel admin local com Supabase. O deploy é 100% estático na Vercel, com sitemap, aria e suporte a reduced-motion.

bernardoiannini.com · Este Site Vídeo em breve

Como foi construído

Design system em CSS puro

Cores, espaçamentos e tipografia resolvem em tokens CSS, sem framework por baixo. GSAP 3, ScrollTrigger e Lenis cuidam do movimento por cima dessa base.

Dois idiomas, zero reload

O motor EN/PT foi escrito à mão: um clique troca todas as strings do site sem recarregar a página, sem biblioteca de i18n no meio.

Markdown entra, página estática sai

Um build Node compila o Newsroom de Markdown para páginas estáticas puras. Os posts são gerenciados num painel admin local com Supabase.

Funciona inteiro sem o motion

Desligue o GSAP e todas as páginas continuam funcionando: o movimento é camada extra, nunca dependência. Reduced-motion respeitado, num deploy 100% estático na Vercel.

Projetado, construído e colocado no ar por Bernardo Iannini

Entrar em contato