Meu trabalho já foi escrever código para pessoas.
Agora é decidir o que vale a pena pôr no mundo, com ajuda de máquinas que escrevem mais rápido do que eu penso.
Pai, viajante, fotógrafo nas horas vagas e leitor de tudo que explica como o trabalho e a tecnologia mudam a vida da gente. Trabalho com front-end desde 2008 e me formei em Design, que nunca virou profissão, mas mudou o jeito como eu olho para quase tudo.

Como eu trabalho
Comecei fazendo sites em agência, passei por projetos para marcas grandes, liderei time de front-end e, no meio do caminho, ajudei a criar uma marca do zero.
Faz quase duas décadas que eu transformo layout em coisa que funciona no navegador. As ferramentas mudaram tantas vezes que já perdi a conta. O que não mudou foi o que me interessa: fazer coisas que as pessoas usam sem precisar pensar muito. Hoje isso passa por ensinar máquinas a escrever código do jeito certo, mas a pergunta continua a mesma: isso aqui está bom para quem vai usar?
Ver no LinkedInExperiência profissional
Lugares onde trabalhei desde 2008.
- 2023 - atual
VTEX
Senior Software Engineer Frontend
Desenvolvo e mantenho sistemas front-end junto com os times de design e produto, sempre pensando em quem vai usar. Hoje trabalho na evolução do FastStore, o framework de storefront da VTEX, trazendo capacidades de IA para dentro do núcleo dele. Isso mudou bastante o meu jeito de trabalhar: a especificação vem antes do código, uso skills e MCPs, e monto loops que ajudam a manter a arquitetura consistente. No dia a dia trabalho com Rust, TypeScript, Node.js e GraphQL, com Cursor e Claude Code como parceiros. Também ajudo a definir padrões técnicos e de processo e tento aproximar quem desenvolve de quem desenha.
- 2019 - 2023
KingHost
Senior Front-end Software Engineer e depois Front-end Tech Lead
Entrei criando aplicações web com Angular, TypeScript, React, Web Components (StencilJS) e Node, com foco em qualidade de código e componentização. Depois assumi a liderança técnica do front-end: arquitetura das soluções, mentoria do time, padrões técnicos e uma cultura de front-end e de qualidade de software.
- 2018 - 2019
ACCERA
Front-end Engineer
Arquitetei soluções de front-end para os produtos da empresa com React, Vue e Web Components, sempre pensando em quando e por que usar cada ferramenta. Liderei o front-end de um squad de inovação, fiz mentoria técnica e dei tech talks para espalhar o que a gente aprendia.
- 2016 - 2018
CWI Software
Senior Front-end Developer
Criei aplicações front-end com HTML, CSS, JavaScript, TypeScript, AngularJS, Angular e Electron, com testes unitários e bastante cuidado com performance e semântica.
- 2016 - 2019
UFA! Comfort Wear
Co-fundador
Participei da criação da UFA! do zero: marca, campanhas, produtos, planejamento e produção. Toda a parte de tecnologia, da arquitetura ao desenvolvimento, ficou comigo.
- 2011 - 2016
W3haus
Frontend Developer, depois Expert e Senior Front-End Developer
Quase cinco anos fazendo sites, hotsites e aplicações para clientes como Boticário, Lacta, Tramontina, LG e Grêmio. Comecei codificando HTML, CSS e JavaScript e fui virando referência em performance e SEO, sempre atrás do menor tempo de carregamento possível.
- 2010 - 2011
E-Storage Tecnologia
Web Developer
Fiz o front-end de sites e sistemas com HTML, CSS, JavaScript e XSLT, além de integrações entre o Google Search Appliance e os sistemas dos clientes.
- 2010 - 2019
Freelancer
Senior Frontend Developer
Em paralelo, fiz hotsites, sites institucionais, blogs em WordPress, lojas virtuais em Iluria e WooCommerce, e-mail marketing e landing pages, além de otimizações de SEO.
- 2008 - 2010
BriviaDez
Estagiário Desenvolvedor front-end e depois Desenvolvedor Front-end
Foi onde comecei meu caminho em TI. Entrei como estagiário fazendo o front-end de hotsites e segui como desenvolvedor, codificando HTML, CSS e JavaScript para sites e hotsites.
Textos técnicos
Coisas que aprendi quebrando a cabeça com CSS, JavaScript e performance, anotadas para eu não esquecer.
- performance · web api
Network Information API: Obtendo dados da conexão do usuário
A Network Information API é uma Web Api que nos fornece dados sobre a conexão do usuário, como largura de banda, tipo de conexão, dentre outros. Vamos descobrir como usá-la!
- performance · ferramentas
Testando a performance das páginas web com o Lighthouse
Usando o Google Lighthouse para testar nossas páginas web. Pois afinal, performance é importante, performance é funcionalidade.
- web components · web api
Introdução a Web components
Web components permitem a criação de componentes reutilizáveis em aplicações web agnósticos aos frameworks e libs. A plataforma web segue evoluindo e os Web Components estão ai para ficar.
- javascript · pwa
App Shortcuts: Atalhos de aplicativos para sua Progressive Web App
Os atalhos de aplicativos fornecem acesso rápido a várias ações comuns que os usuários precisam com frequência.
- javascript · Web API
Drag and Drop API: Aprendendo na prática
Há algumas semanas, demos continuidade a nossa saga de Web APIs com a introdução a Web API do Drag and Drop, com a teoria básica sobre o assunto. Como prometi no final daquele post, hoje vamos criar algo na prática usando a Drag and Drop API.
- javascript · HTML
Drag and Drop API: Introdução
Seguindo nossa saga de Web APIs hoje vamos falar sobre uma API que nos permite implementar uma funcionalidade que é usada em muitas aplicações e interfaces web, como Trello, Google Keep, Todoist dentre outros.
- javascript · css
Dark Mode: Como detectar o tema do sistema
Já que o dark mode chegou para ficar, e se pudéssemos fazer nosso site usar o tema que o usuário selecionou no dispositivo que está usando? É exatamente isso que vamos ver hoje.
- javascript · css
Como implementar o dark mode
Nos últimos tempos o tema escuro, ou dark mode se transformou em uma febre, tanto que muitas empresas anunciam o suporte ao tema escuro como uma grande feature. Vamos entender como implementar facilmente no nosso site hoje mesmo.
- javascript · Web API
Compartilhando como um aplicativo nativo com a Web Share API
Hoje vamos conhecer e entender como usar o compartilhamento nativo dos dispositivos móveis, como a Web Share API.
- css
Seletores CSS que vão mudar sua vida (Parte 2) - :not()
Hoje vamos falar sobre a pseudo-classe :not(), é um seletor muito poderoso que pode nos ajudar a criar regras de estilização muito bacanas.
- javascript · react
React Fragment: O que é, e por que você deveria usá-lo
Quantas vezes já nos pegamos em uma aplicação onde o HTML tem muitos elementos, que quando analisamos, ficamos nos perguntando, por que isso está aqui? Hoje vamos tentar resolver isso!
- design
Atomic Design
Componentes, componentização, modularização. Não são conceitos novos, mas atualmente sua força tem sido maior do que nunca. Hoje vamos ver uma metodologia que vai nos ajudar a construir interfaces melhores, mais consistentes e coesas.
- javascript
Lazy loading nativo na web
Com a atualização do Google Chrome para a versão 76, foi lançada a funcionalidade de lazy load nativo, que já havia sido anunciada em abril, agora está na versão estável e sem precisar alterar nenhuma flag.
- javascript · Web API
Introdução ao Intersection Observer’s
Uma simples API que nos permite verificar se um elemento está visível na tela com mais facilidade e sem custar tanto na performance. Essa é a API do Intersection Observer.
- javascript · react
React Hooks: O que são e porque eles são importantes
Hoje vamos conversar sobre React Hooks. O que são, e porque são importantes e como eles mudam a forma como escrevemos nossos componentes com react.
- javascript · react
Internacionalização com React usando Create react app
Como internacionalizar a sua aplicação em react de forma simples, tanto seus componentes react quanto seu código escrito em Vanilla JS.
- javascript · react
Usando Sass com Create React App (sem ejetar)
Quem usar Sass em seus projetos com o Create React App? Vamos ver como fazer isso sem ejetar o projeto ou rodar uma task extra.
- javascript · react
ReactJS: Uma biblioteca javascript para trabalhar com views.
O que é? De onde veio? Para que foi criado? E o que você precisa fazer para começar a brincar hoje mesmo com ReactJS.
- javascript · pwa
Progressive Web Apps (PWA): O que são? E como transformar seu site em um hoje mesmo
Como transformar seu site em um Progressive Web App. Vamos dar uma olhada nos três principais passos necessários para transformarmos nosso site em um PWA.
- css
Seletores CSS que vão mudar sua vida (Parte 1) - :nth-child()
Conheça um seletor CSS que é uma mão na roda. É um dos seletores mais versáteis, que facilitam muito nossa vida. Estou falando do pseudo seletor :nth-child()