Proyectos
Trabajo publicado en desarrollo de producto, herramientas de IA y NetSuite.
No hay nada bajo ese filtro.
Milestoner
Motor de ejecución autónoma para agentes de código. Una máquina de estados por hitos lanza una sesión headless nueva por hito, califica lo que cada sesión afirma contra evidencia en disco y se niega a gastar un reintento en un límite de uso. En npm, MIT.

NetSuite Stock Lens
Extensión de Chrome que muestra el stock de NetSuite al pasar el mouse, dentro de la misma transacción que estás mirando: totales, desglose por ubicación y órdenes de compra en camino, usando tu sesión actual.

Skills de Claude Code para NetSuite
Un pack de skills que le enseña a Claude Code cómo funciona NetSuite de verdad: patrones de extensiones SuiteCommerce, plantillas de SuiteScript 2.x, despliegue con SDF y flujos de estimación, sincronizados entre proyectos con un solo script.
EveryPlace
Una bitácora de viajes para dos personas: vuelos, estadías y ciudades visitadas, juntos y por separado. Veinticinco años de historia extraídos por Gemini desde mails de confirmación, PDFs y pases de abordar, y mostrados como estadísticas, un globo y un pasaporte con sellos procedurales. Herramienta personal, no un producto.

The Daily Pick
Una PWA de práctica de guitarra con un programa de 12 semanas, bloques de sesión diarios, un metrónomo en Web Audio con subdivisiones y progreso guardado localmente. Sin backend, sin cuenta, instalable.

quienpagapp
Una PWA sin registro para dividir gastos en pesos y dólares. Los grupos viven detrás de un link secreto que compartís por WhatsApp, y los tickets se leen automáticamente con OCR asistido por IA.
NetSuite DevTools
Un panel de DevTools de Chrome para desarrolladores NetSuite: escribí y ejecutá snippets de SuiteScript 2.x contra cualquier cuenta en la que estés logueado, con los módulos N/* precargados y un visor de resultados interactivo.
calendar-autoblock
Un Google Apps Script que mantiene un Google Calendar en una ocupación objetivo con eventos de bloqueo sin título, para que el horario laboral deje de ser infinitamente reservable. Respeta las reuniones reales, nunca toca un evento que no creó y arranca en modo dry-run.