Ingeniería
Sistemas que diseñé y operé en producción — decisiones de arquitectura, trade-offs y restricciones reales.
Problemas resueltos en producción
Latencia de API
Timeouts de APIs de terceros causando fallas en cascada en el checkout — resuelto con circuit breaker y respuestas fallback
Inconsistencias de marketplace
APIs de marketplaces externos retornando datos inconsistentes — capa de abstracción normalizando schemas en modelo unificado
Migración de legado
Migrando sistemas de clientes de monolito PHP a React + Next.js sin downtime — enfoque incremental strangler fig
Rendimiento a escala
Tiempos de respuesta de la API degradando con crecimiento de usuarios — optimización de queries, caching estratégico, llamadas paralelas
UX cross-platform
Mantener UX consistente entre React (web) y React Native (mobile) — design tokens y contratos de componentes compartidos
Consistencia de datos
Módulos financieros (ventas + comisiones + pagos) perdiendo sincronía — transacciones atómicas con advisory locks de PostgreSQL
Sistemas de IA en producción
No chatbots — pipelines en producción donde IA es un componente en un sistema mayor, con fallbacks, monitoreo y datos reales fluyendo.
Agente IA en WhatsApp
Agente con LLM para atención, recomendación de productos y cierre de ventas. Mensajes procesados de forma asíncrona, datos registrados en PostgreSQL. Fallback a matching por reglas cuando LLM no está disponible.
Pipeline RAG (LangChain + pgVector)
Ingestión de documentos → chunking → generación de embeddings → almacenamiento vectorial en PostgreSQL con pgVector → búsqueda semántica con top-K como contexto para LLM.
Leer implementación completa →Preguntas frecuentes
¿Qué es la arquitectura multi-tenant?
Un patrón de diseño donde múltiples organizaciones comparten la misma aplicación y base de datos, pero los datos de cada tenant están aislados. El enfoque más común en SaaS moderno es base de datos compartida con columna tenant_id y Row Level Security (RLS) de PostgreSQL como red de seguridad.
¿Cómo manejar webhooks de pago de forma confiable?
Use un enfoque en capas: valide firmas en cada evento, garantice idempotencia con IDs de eventos almacenados, responda inmediatamente y procese en background, valide transiciones de estado con state machine, ejecute jobs de reconciliación periódicos y dirija eventos fallidos a una dead letter queue.
¿Cómo integrar IA en sistemas de producción?
Trate la IA como un componente del sistema, no una feature aislada. Procese mensajes de forma asíncrona, registre datos de vuelta en la base de datos, implemente fallbacks para cuando el LLM no esté disponible y monitoree la calidad de las respuestas. El punto central es confiabilidad — el sistema debe funcionar incluso cuando el proveedor de IA tiene problemas.
¿Qué es el patrón circuit breaker?
Un patrón de resiliencia para integraciones con APIs de terceros. Cuando una API externa empieza a fallar, el circuit breaker se 'abre' y retorna respuestas fallback en lugar de propagar la falla por el sistema. Después de un período de cooldown, permite solicitudes de prueba para verificar si el servicio se recuperó.
Profundizaciones
Circuit Breaker en Node.js
State machine, fallbacks, retry y monitoreo
Arquitectura de Webhooks para Pagos
Idempotencia, reconciliación, flujos PIX
Arquitectura Multi-tenant
Base compartida, RLS, particionamiento
RAG con LangChain
Embeddings, pgVector, búsqueda semántica
Design Systems a escala
Shadcn UI, tokens, contratos de componentes
