Construyo herramientas a las que la gente le confía su tiempo de pantalla.
ResistGate y Amethyst están publicadas en Chrome Web Store, y ambas guardan lo que registran dentro de tu navegador. Construí ambas yo solo, desde el primer commit hasta la revisión de la tienda y cada actualización desde entonces.
Lo último

¿Necesitas una extensión de Chrome o una app? Los proyectos empiezan en $2,000 y respondo en menos de 24 horas. Enviar los detalles del proyecto
Tres proyectos y las decisiones detrás de ellos
ResistGate
Abres un sitio “un segundo” y pierdes una hora. ResistGate te pide escribir un párrafo corto antes de que cargue, así el reflejo se convierte en una decisión.
- Mi contribución
- La construí yo solo: el service worker, las reglas de bloqueo, el reto de escritura y la configuración local.
- Lo difícil
- Guardo cuándo vence cada ventana de acceso y reconcilio las alarmas de Chrome con ese dato, así el bloqueo se recupera cuando el service worker se reinicia.
12 usuarios semanales, la mayoría en India, Brasil y EE. UU. · una calificación de 5★ en Chrome Web Store
Amethyst
Ocho horas en el navegador y ni idea de a dónde se fueron. Amethyst cuenta solo el tiempo que pasas activamente en cada sitio y guarda todo el historial en tu computadora.
- Mi contribución
- La construí yo solo: el registro de tiempo activo, el almacenamiento local, el panel y la exportación a CSV.
- Lo difícil
- En macOS, Chrome puede perder el evento de pérdida de foco cuando cambias de app, así que cada guardado vuelve a comprobar qué ventana tiene el foco antes de registrar tiempo.
Solo registra el tiempo activo. Nada sale nunca de tu navegador.
Real-Time Chess
Para equipos que contratan ingenieros de tiempo real y backend. Dos navegadores tienen que coincidir en cada jugada, incluso cuando uno va con retraso, así que el servidor valida cada jugada antes de difundirla y los tableros nunca se desincronizan.
- Mi contribución
- Desarrollé el cliente React, el protocolo Socket.IO y la persistencia de salas en PostgreSQL.
- Lo difícil
- El comentario de IA se ejecuta solo después de que el servidor acepta la jugada, así un modelo lento nunca detiene la partida.
Otros productos que puedes usar hoy
Notas sobre lo que construyo y lo que se rompe
- 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.

