Freelance
AI Software Architect & Consultor · 2021 – actualidad
Mi práctica independiente (Edvantage): consultoría y desarrollo de producto end-to-end —IA aplicada, backend e infraestructura— para clientes, y el paraguas bajo el que cofundé Baboon Technologies y Rackety TV. De la idea a producción: chat agéntico conectado a las herramientas de cada cliente, RAG, procesamiento documental con IA e infraestructura completa.
Proyectos
Chat Engine
Chat Engine
Motor de chat agéntico multi-cliente con RAG, herramientas externas y BI generativo, aislado por cliente.
- El problema
- Dar a cada cliente un asistente que responda cualquier pregunta sobre sus documentos y datos, se conecte a sus herramientas y genere gráficos y dashboards, manteniendo los datos aislados.
- Decisión de stack
- FastAPI + LangChain/LangGraph, indexación RAG con pgvector y Cohere Rerank, orquestación de varios LLMs por calidad/precio (OpenRouter, Gemini, Deepseek) y tools vía MCP/FastMCP. Todo trazable con Langfuse.
- El reto técnico
- En la indexación, agrupar información automáticamente, detectar discrepancias y permitir una curación manual; y aislar los datos por project_id en un motor multi-tenant reutilizable.
- Impacto
- Motor reutilizable en producción para varios clientes (respuesta a información financiera, monitoreo de márgenes y rentabilidades con gráficos).
Extracción y validación de pedidos con IA
Extracción y validación de pedidos con IA
Motor genérico de procesamiento de documentos que, desde un add-in de Outlook, extrae los pedidos de cada email y los valida contra SAP en una pantalla dividida documento/datos.
- El problema
- Convertir los pedidos que llegan por email —documentos heterogéneos, un formato distinto por cliente— en pedidos estructurados y validados contra SAP, resolviendo que los productos del documento no coinciden en nombre ni formato con los de la base de datos del cliente.
- Decisión de stack
- Un motor genérico de procesamiento de documentos que combina pdfplumber para PDFs con estructura, Azure Document AI para layouts complejos y un LLM de OpenAI para lo no estructurado. La extracción se materializa en una "máscara" por cliente que se reaprovecha en cada pedido posterior del mismo formato, evitando reprocesar. El add-in de Outlook lanza el flujo desde el propio email y una pantalla dividida enfrenta el documento adjunto con los datos extraídos, editables y vinculados a SAP, con cálculo automático de precio para comprobar el pedido.
- El reto técnico
- Construir el motor genérico de máscaras de extracción reaprovechables y, sobre él, un motor de aprendizaje: cualquier corrección del usuario (nombre de producto, formato, mapeo a SAP) se detecta automáticamente y se propone como aprendizaje a validar. Incluso el formato correcto de un producto se inferría a partir del precio que el propio cliente ponía en el pedido, teniendo en cuenta que cada cliente tenía sus propios precios.
- Impacto
- Procesa unos 600 pedidos al mes desde Outlook. Al reaprovechar la máscara de cada cliente, los pedidos recurrentes se resuelven sin volver a procesar, y el motor de aprendizaje mejora la extracción con cada corrección validada por el usuario.
PrismaRiders
PrismaRiders
Plataforma para terapeutas a domicilio con un optimizador de huecos que minimiza desplazamientos y esperas.
- El problema
- Reducir los tiempos de desplazamiento y de espera de terapeutas que van a domicilio, reuniendo en una sola plataforma varios roles (terapeutas, pacientes, centros, tutores, admin), historiales, calendario y pagos.
- Decisión de stack
- Next.js/React + FastAPI/SQLAlchemy sobre PostgreSQL; Stripe (pagos recurrentes y Connect), Google Calendar (sync bidireccional) y OpenRouteService para distancias/tiempos reales.
- El reto técnico
- El optimizador de huecos: puntúa (0–100) los huecos de cada terapeuta y coloca a cada paciente en el mejor según ubicaciones reales, penalizando la espera muerta y el viaje.
Infraestructura y observabilidad del ecosistema
Infraestructura y observabilidad del ecosistema
La infraestructura transversal que orquesta, despliega y monitoriza todos los servicios y proyectos.
- El problema
- Gestionar múltiples servicios y plataformas de forma reproducible y bien monitorizada, con despliegue continuo, backups y alertas.
- Decisión de stack
- Dokploy + Docker para orquestación, Traefik como reverse proxy, DNS en Cloudflare, VPN con WireGuard, túneles SSH con socat, backups diarios a S3 y monitorización de jobs con Uptime Kuma y observabilidad centralizada.