← Volver al inicio Experiencia

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

PythonLangGraphRAGpgvectorMCP

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

PythonAzure Document AIOpenAI LLMpdfplumberSAPOutlook Add-in

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
Next.jsFastAPIPostgreSQLStripeOpenRouteService

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

DokployDockerTraefikCloudflareUptime Kuma

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.