read (en espera)
lee el código y me cuenta qué encontró antes de tocar nada
$ endev-pair "rate limit en el formulario de contacto"
> code graph · 3 archivos, 1 limiter existente
> 2 preguntas antes del primer pasoFronteras explícitas y sistemas que se pueden explicar. Sin humo.
Full Stack con ownership del producto · LLMs y RAG corriendo en producción · Mentoría y estándares de ingeniería para equipos
Cada caso cuenta qué pasó, qué decidí y qué cambió después.
pair por defecto · spec cuando crece · review humano
Trabajo con agentes en dos modos. Por defecto hago pair programming con Claude Code, en pasos cortos y con cada diff revisado por mí. Cuando el trabajo crece, paso a spec-driven development, con el plan escrito antes de cualquier código. Yo decido, los agentes ejecutan.
lee el código y me cuenta qué encontró antes de tocar nada
$ endev-pair "rate limit en el formulario de contacto"
> code graph · 3 archivos, 1 limiter existente
> 2 preguntas antes del primer pasoel modo por defecto, un paso corto a la vez. Reviso cada diff y apruebo cada commit
$ paso 1 de 4 · 2 archivos · +38 -6
✓ tsc · eslint
ok → feat(contact): rate limitcuando el trabajo supera al pair paso a SDD y el plan se cuestiona antes de escribir código
$ switch to SDD
$ endev-plan
✓ .plans/home-polish.md
critic · 0 bloqueanteslos agentes especialistas implementan por olas, cada uno en su área
$ endev-execute .plans/home-polish.md
✓ ola 1 · frontend ×2 · worker
✓ ola 2 · seoprimero typecheck, lint y tests, luego un auditor revisa contra el plan. Corrijo o acepto, sin límite de rondas
$ endev-review .plans/home-polish.md
! 3 hallazgos · vuelve a pair
✓ checks en verde · aceptadocuando acepto, ordena los commits, hace push y abre el PR
$ endev-deliver .plans/home-polish.md
✓ checks en verde
✓ pushed · PR abiertoIncidentes reales, decisiones de arquitectura, opiniones sobre IA y alguna reflexión sobre cómo trabajamos. Las escribo cuando algo se rompe, o cuando algo no me cierra.
No es un muro de logos. Mueve el dial para encontrar una herramienta y el patrón detrás.No solo lo de hoy, herramientas y patrones de proyectos y notas a lo largo de los años. No es un muro de logos — es un mapa de lo que usé, uso y seguiría eligiendo. Toca + para ver el patrón detrás.
04
Spec-driven development, pair programming con IA, agent skills, MCP servers — IA aplicada en producción, no solo RAG.
Spec-driven development, pair programming con IA, agent skills, MCP servers — IA aplicada en producción, no solo RAG.
Spec-Driven Development (SDD)
Escribo la spec antes de que el agente escriba código — Grill.me interroga el plan hasta resolver cada rama, después un agente nuevo construye contra esa spec.
pasa para inspeccionartoca + para inspeccionar
# spec.md
## Requirements
## Acceptance criteria
// the agent implements against this, not vibesClaude Code · Cursor
Código agéntico a diario — de Tab en Cursor a workflows de agentes completos con skills propias.
/anti-cliche # custom skill, runs before every commitMCP Servers
Conectar agentes a datos en vivo — el contenido de este sitio sale de un servidor MCP de Sanity.
claude mcp add Sanity -t http https://mcp.sanity.ioAgent Skills · Multi-agent
Flujos multi-agente estilo Grill.me — un agente interroga el plan, otro lo construye.
phase-1.md → new conversation → phase-2.md
# context reset between phasesContext Engineering
Mantener orientados a los agentes en codebases grandes con un grafo del código, planes y revisiones guardados en el repo, y fases divididas antes de que se llene el contexto.
# plan.md
## Phase 1: schema
## Phase 2: API
## Phase 3: UIRAG · LangChain · LangGraph · Data loaders
Construí un data loader en Python para documentos de ClickUp con LangChain y LangGraph. Calcula un checksum para detectar cambios, divide cada documento en chunks, los vectoriza y los guarda en Postgres con pgvector a través de Supabase.
if checksum(doc) != stored_checksum:
chunks = splitter.split_documents([doc])
vector_store.add_documents(chunks)Vector Search
Embeddings y pgvector en Postgres a través de Supabase para búsqueda semántica.
select 1 - (embedding <=> $1) as score
order by score desc;Pair programming · AI
Trabajo en pares con un agente en pasos cortos que reviso, con un commit por paso aprobado y revisión antes de entregar.
# one step -> review the diff -> approve -> commit
plan -> execute -> review -> deliverclaude-endev · Software factory · Agent harness
Arnés propio para Claude Code que funciona como software factory, con modo pair y cadena de plan, ejecución, revisión y entrega, agentes especialistas por rol y aprobación humana en cada compuerta.
/endev-pair add a logout button
/endev-plan -> /endev-execute -> /endev-review -> /endev-deliverDe frontend freelance a liderar producto, plataforma e IA aplicada. Cada paso dejó algo que sigo usando.
Cofundé un pequeño estudio que entregaba sitios responsivos y campañas de email marketing compatibles con los principales clientes de correo. Fue mi primer paso del frontend freelance a construir productos completos.
Mérida, Venezuela · Híbrido
WordPress · HTML · Bootstrap · jQuery · JavaScript
Pasé del desarrollo frontend de sitios institucionales a gestionar el desarrollo y la configuración del backend de distintos sitios, con mayor responsabilidad, e impulsé con el equipo la adopción de Git en la empresa. Mantuve un CMS a medida en CodeIgniter, entregué un page builder multi-dominio con configuración visual centralizada y replicación de contenido entre dominios, y operé GSuite más servicios de hosting como proveedor.
Buenos Aires, Argentina · Presencial
De frontend a full stack en 18 meses
PHP · MySQL · CodeIgniter · Bootstrap · jQuery · SCSS · Apache · cPanel
Synapsis CIse abre en una pestaña nuevaCasi tres años en un solo producto marketplace de e-commerce. Migré un monolito con problemas de rendimiento a microservicios (API central, servidor de importación, runner de tareas, puentes de pagos/envíos/notificaciones), reconstruí UI/UX desde cero y escalé de 1-5 a picos de 600 usuarios concurrentes sobre infraestructura y DevOps que construí desde cero (Linux, certificados SSL, DNS/dominios, Docker).
Buenos Aires, Argentina · Híbrido
De 1-5 a 600 usuarios concurrentes en horas pico
Nuxt.js · React · PHP · Slim · JWT · MercadoPago · Firebase · Python · MariaDB · Apache · AWS · Docker · MSSQL · Laravel · Vite
Libre Opciónse abre en una pestaña nuevaTrabajé con equipos multidisciplinarios en el desarrollo e integración de varios productos, incluyendo una plataforma empresarial con Salesforce, un MVP de visualización D3.js desde un refactor legacy, un CMS universitario con i18n en Strapi, una calculadora de fondos mutuos con ingesta automatizada vía GitHub Actions y Sanity, y una herramienta interna de monitoreo con scraping, IA y cron integrada a GitHub y Notion. Lideré algunos desarrollos con equipos internos y externos, más CI/CD formal con ambientes efímeros por branch y workflows de contribución.
Buenos Aires, Argentina · Remoto
Hand-off al cliente sin caídas
Next.js · Node.js · TypeScript · Salesforce · Strapi · Sanity · D3.js · Prisma · OpenAI · Turborepo · Docker · PostgreSQL · GitHub Actions · Cypress · Jest · Storybook · GitLab CI
Aerolabse abre en una pestaña nuevaLideré un producto interno de orquestación de flujos y notificaciones a gran escala con múltiples integradores externos, construido desde las bases (Next.js RSC, backend Supabase RPC-only, motor asíncrono modular). También aporté a otro producto interno con orquestación multi-LLM vía Vercel AI SDK y un pipeline de RAG sobre pgvector. Implementé el pipeline de CI/CD, automatizando deploys y revisiones de PR, y publiqué SDKs npm además de resolver una migración Firebase→relacional. Mentoreé developers, definí starters de código, establecí buenas prácticas de ingeniería y facilité retros para el equipo.
Detroit, Michigan · Remoto
Producto construido desde cero · mentoría, starters y retros al equipo
TypeScript · Node.js · Python · Next.js · AI SDK · RAG · Deno · Supabase · PostgreSQL · Firebase · Sanity · Stripe · Playwright · GitHub Actions · pgmq · LangChain · LangGraph
Flywheel Studiose abre en una pestaña nueva2026
Rol senior con foco en producto
Me interesa un rol donde el criterio técnico se traduzca en producto. Quiero construir cerca del cliente, tomar decisiones de arquitectura con contexto real y hacer crecer al equipo. Ya he liderado productos y equipos, y quiero que esa experiencia tenga más alcance.
Si llegaste hasta aquí, probablemente quieras saber un poco más de mí. Llevo muchos años construyendo software y todavía me importa lo mismo que al principio, ver una idea convertirse en algo que realmente funciona.
El código es solo una parte del trabajo. A veces toca pensar producto, otras arquitectura, revisar un deploy o quedarme hasta entender por qué algo que funcionaba ayer dejó de funcionar hoy. Así es producción. Tiene personalidad propia.
También disfruto ayudar a otros a crecer. Un buen code review no solo dice qué está mal, deja a la otra persona entendiendo algo que antes no entendía.
Me interesa entender el problema, discutir las decisiones cuando hace falta y encontrar la forma más simple y sólida de llevarlo a producción.
Trabajo principalmente con TypeScript y Node.js, y sigo de cerca lo que pasa con IA y agentes porque el trabajo está cambiando rápido. Adopto herramientas nuevas cuando realmente mejoran el producto, el equipo o la forma en que trabajamos.
Estoy terminando Ingeniería de Sistemas, aunque mi carrera no esperó al título. La mayor parte de lo que sé lo aprendí construyendo y equivocándome en sistemas reales.
Abierto a nuevos proyectos, desafíos técnicos y colaboraciones donde el problema sea real, seas recruiter, founder o colega engineer. Escribe por el formulario o al email de esta página. Trabajo desde Buenos Aires (GMT-3) y respondo en español o inglés.