Cómo trabajo
- Encontrar el problema
- Casi todo lo que hay acá empezó como un problema que ya le costaba tiempo a alguien y todavía no tenía nombre. Escribo el problema antes que cualquier otra cosa, y la mayoría no sobrevive a esa página. Los que sí sobreviven están en esta.
- La decisión antes del código
- Cada sistema de acá tiene una restricción elegida primero, y el resto sale de ahí. Stock Lens reusa la sesión de NetSuite en la que ya estás, así que no hay integration record, ni OAuth, ni servidor que asegurar. Milestoner guarda el estado de la corrida en archivos y no en una conversación, así que cada sesión del agente arranca limpia y una corrida terminada se sigue leyendo una semana después. Prefiero discutir esa decisión durante un día antes que refactorizar alrededor de ella durante un mes.
- Diseño de producto
- Alcance, flujo, nombres, el estado vacío y lo que el producto se niega a hacer. quienpagapp no tiene registro porque pedirle a un grupo de amigos que se cree una cuenta lo mata en el primer mensaje. Milestoner nunca deja que un agente levante su propio bloqueo, porque esa decisión es de una persona. La mayor parte del diseño es restar.
- Dirigir la entrega
- Tech lead en NetSuite y SuiteCommerce: defino el alcance, lo reparto en el equipo, decido la forma de cada integración y respondo por ella en producción. Personalizaciones de ERP, tiendas y los flujos de datos entre sistemas que nunca fueron diseñados para hablarse. La parte que tiene que seguir funcionando mucho después de que el proyecto termina.
- Stack
- TypeScript, Node.js, React, Next.js y Astro. Postgres con búsqueda vectorial, y pipelines con LLMs que convierten mails, PDFs y tickets en datos validados. SuiteScript, SuiteCommerce y SDF. Chrome Manifest V3, Unity y C#. Vercel, Render, Neon y Supabase. Más atrás, Java, WebRTC y WebDAV.