Saltar al contenido

Fabian RodriguezArquitecto de soluciones e ingeniero de producto

Producto web, herramientas de IA, sistemas NetSuite. Y juegos.

Diseño el sistema antes de escribirlo y decido qué queda afuera. Cada proyecto de acá lleva escrito el problema que lo empezó y la decisión que lo definió.

El panel web de Milestoner con una corrida terminada: ocho hitos hechos, cuarenta evidencias escritas, lint limpio
Milestoner, un motor de ejecución autónoma para agentes de código. En npm.

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.

Trabajo seleccionado

Todos los proyectos

Todo esto sale bajo Unreal Byte, el nombre que uso desde 2017 para juegos y herramientas de Unity. En el sitio están los devlogs y el catálogo completo.

unrealbyte.com
Arte de Permaban: un moderador frente a un escritorio de 2007 en llamas y lleno de popups

Permaban. Ya disponible.

Un simulador de moderación de foros al estilo Papers, Please ambientado en 2007. Baneá trolls, citá la regla exacta que rompieron y sobreviví a tu propio escritorio de Windows cayéndose a pedazos. Seis oleadas, dieciocho reglas contradictorias, un medidor de burnout, cero sueldo. En Steam, y jugable gratis en el navegador.

Conseguilo en Steam

Preguntas

¿En qué se especializa Fabian Rodriguez?

Arquitectura de soluciones e ingeniería de producto: encontrar el problema, decidir la forma del sistema antes del código, diseñar el producto y dirigir la entrega. El trabajo cae en tres áreas: producto web, herramientas de IA para agentes de código y sistemas NetSuite. Los juegos salen bajo Unreal Byte.

¿Qué trabajo con NetSuite y SuiteCommerce hizo Fabian?

Tech lead en NetSuite y SuiteCommerce: personalizaciones de ERP, tiendas SuiteCommerce, despliegues con SDF y las integraciones entre sistemas que nunca fueron diseñados para hablarse. Por su cuenta construyó NetSuite Stock Lens, NetSuite DevTools y un pack de skills de Claude Code para NetSuite, y escribió sobre NetSuite MCP apps y SDF.

Proyectos NetSuite
¿Qué es NetSuite Stock Lens?

Una extensión de Chrome que muestra el inventario de NetSuite en vivo al pasar el mouse, dentro de la transacción que ya estás mirando: totales, desglose por ubicación y órdenes de compra entrantes. Reusa tu sesión, así que no hay integration record, ni OAuth, ni servidor. Gratis en la Chrome Web Store, con el código en GitHub.

NetSuite Stock Lens
¿Qué es Milestoner?

Un motor de ejecución autónoma para agentes de código como Claude Code. Partís el trabajo en hitos con criterios de aceptación escritos de antemano; Milestoner lanza una sesión headless nueva por hito, califica lo que cada sesión afirma contra evidencia en disco y nunca deja que un agente levante su propio bloqueo. Publicado en npm con licencia MIT.

Milestoner
¿Qué herramientas de IA construyó Fabian?

Milestoner, una capa de orquestación para agentes de código; un pack de skills de Claude Code que le enseña al agente SuiteScript, SuiteCommerce y SDF; y pipelines con LLMs dentro de productos, como el OCR de tickets en quienpagapp y la extracción de mails y PDFs que construyó EveryPlace. También escribe sobre NetSuite MCP apps.

Proyectos de herramientas de IA
¿Qué tecnologías usa Fabian?

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 en NetSuite. Chrome Manifest V3 para extensiones, Unity y C# más Phaser para juegos. Vercel, Render, Neon y Supabase. Más atrás, Java, WebRTC y WebDAV.

¿Qué publicó Fabian?

Milestoner en npm, NetSuite Stock Lens en la Chrome Web Store, las PWAs quienpagapp y The Daily Pick, el diario de viajes personal EveryPlace, y los proyectos open source NetSuite DevTools y calendar-autoblock. Como Unreal Byte: Permaban en Steam, los juegos de navegador Downgrade, ViewGuessr, Alchemistore y Gachaholic, el RTS móvil Battle Lands y tres plugins en la Unity Asset Store.

Todos los proyectos
¿Fabian está disponible para trabajo freelance o consultoría?

Sí, para trabajo de arquitectura, producto e ingeniería, con NetSuite o sin NetSuite. El mail es la vía más rápida: contact.fabrodz@gmail.com.

Contacto

Disponible para trabajo de arquitectura, producto e ingeniería, con NetSuite o sin NetSuite, y siempre dispuesto a hablar de cualquier cosa de este sitio. El mail es la vía más rápida.

contact.fabrodz@gmail.com