Crio ferramentas às quais as pessoas confiam seu tempo de tela.
ResistGate e Amethyst estão publicadas na Chrome Web Store, e as duas guardam o que registram dentro do seu navegador. Construí as duas sozinho, do primeiro commit à revisão da loja e a cada atualização desde então.
Recente

Precisa de uma extensão do Chrome ou de um app? Projetos a partir de US$ 2.000, e respondo em até 24 horas. Enviar o briefing do projeto
Três projetos e as decisões por trás de cada um
ResistGate
Você abre um site “por um segundo” e perde uma hora. O ResistGate pede que você digite um trecho curto antes de o site carregar, para que o reflexo vire uma decisão.
- Minha contribuição
- Construí sozinho: o service worker, as regras de bloqueio, o desafio de digitação e as configurações locais.
- A parte difícil
- Guardo quando cada janela de acesso expira e reconcilio os alarmes do Chrome com esse dado, para que o bloqueio se recupere quando o service worker reinicia.
12 usuários semanais, a maioria na Índia, no Brasil e nos EUA · uma avaliação de 5★ na Chrome Web Store
Amethyst
Oito horas no navegador e nenhuma ideia de para onde foram. O Amethyst conta só o tempo que você passa ativamente em cada site e guarda todo o histórico no seu computador.
- Minha contribuição
- Construí sozinho: o registro de tempo ativo, o armazenamento local, o painel e a exportação em CSV.
- A parte difícil
- No macOS, o Chrome pode perder o evento de perda de foco quando você troca de app, então cada salvamento verifica de novo qual janela está em foco antes de registrar tempo.
Registra só o tempo ativo. Nada sai do seu navegador.
Real-Time Chess
Para equipes contratando engenheiros de tempo real e backend. Dois navegadores precisam concordar em cada jogada, mesmo quando um atrasa, então o servidor valida cada jogada antes de transmiti-la e os tabuleiros nunca saem de sincronia.
- Minha contribuição
- Desenvolvi o cliente React, o protocolo Socket.IO e a persistência das salas no PostgreSQL.
- A parte difícil
- O comentário de IA só roda depois que o servidor aceita a jogada, para que um modelo lento nunca trave a partida.
Outros produtos que você pode usar hoje
Notas sobre o que eu construo e o que quebra
- Distribution
ChatGPT Sends ResistGate More Visitors Than Social Media Does
AI assistants sent ResistGate four times more store visitors than social media. My other two extensions got almost none. - Chrome extensions
Chrome Can Miss the Focus-Lost Event on macOS
Chrome can miss the focus-lost event when you switch apps on macOS, so Amethyst asks which window has focus before every save. - Chrome extensions
How ResistGate Keeps Sites Blocked When Chrome Stops Its Service Worker
ResistGate saves when each access window ends and rebuilds its alarms from that, so a stopped service worker can't leave a site open.

