Sistemas de IA, visión por computador y datos a escala, de la arquitectura a producción.
De la idea a producción.
AI Software Architect en Barcelona. Lo que me define es llevar una idea hasta producción: arquitectura compleja, I+D pionero y producto que funciona en el mundo real, no en una demo.
- De dónde vengo: electrónica, robótica y visión 3D
- Dónde estoy fuerte: visión por computador a escala industrial
- Hacia dónde voy: IA agéntica y datos masivos
En qué destaco
Cada área reúne la experiencia y los proyectos que la respaldan.
Computer Vision & Vídeo-analítica
Visión por computador a escala industrial, de I+D a producto homologado.
IA aplicada & Sistemas agénticos
LLMs, RAG y agentes integrados en producto real, trazables y multi-tenant.
Arquitectura de software & datos a escala
Bases de datos de varios TB, pipelines y jobs batch que no colapsan.
DevOps, Infraestructura & Redes
Orquestación, despliegue continuo, observabilidad y redes seguras.
Electrónica, Robótica & Edge
Mi origen: sistemas electromecánicos, brazos robóticos y dispositivos edge.
Liderazgo de producto & I+D
De la idea al producto: equipos multidisciplinares y sistemas en producción.
Dónde he trabajado
Cofundador & Tech Lead
Baboon Technologies
2024 – actualidad
Cofundador & Tech Lead
Baboon Technologies
Cofundé Baboon Technologies, cuyo producto principal es SVInvesting. Lidero la arquitectura de software, los despliegues, los jobs batch y la monitorización, además de la infraestructura (Proxmox, Docker) y el escalado de la base de datos de +5 TB.
AI Software Architect & Consultor
Freelance
2021 – actualidad
AI Software Architect & Consultor
Freelance
Consultoría y desarrollo de producto end-to-end (IA aplicada, backend e infraestructura) para clientes. El paraguas bajo el que cofundé Baboon Technologies y Rackety TV.
Arquitecto de Software & Tech Lead
Infinity Neural
2017 – 2024
Arquitecto de Software & Tech Lead
Infinity Neural
Más de seis años en Infinity Neural en dos fases: de desarrollador y arquitecto de Computer Vision a Tech Lead del equipo.
- Tech Lead & Arquitecto de Software jul 2022 – abr 2024 · Full-time
Lideré el despliegue en producción de un sistema de Computer Vision en 200+ servidores, el liderazgo técnico del equipo, la arquitectura, el escalado y la monitorización.
- Arquitecto de Software & Computer Vision Developer nov 2017 – jul 2022 · Full-time
Arquitectura y desarrollo del núcleo de Computer Vision: sistemas de visión artificial en tiempo real para detección y seguimiento de objetos.
VR & Robotics Developer
Altran · Barcelona
2017 · 9 meses
VR & Robotics Developer
Altran · Barcelona
Pruebas de concepto de VR y robótica para la showroom de Barcelona: código de robots en C y entornos de realidad virtual en Unity/C#, incluido el control remoto de un brazo robótico desde VR por WebSockets.
Robotics & Computer Vision Researcher
Univ. der Bundeswehr München · Múnich, Alemania
sep 2016 – ene 2017
Robotics & Computer Vision Researcher
Univ. der Bundeswehr München · Múnich, Alemania
Trabajo de Final de Grado: investigación en visión por computador 3D y robótica. Desarrollé el algoritmo de detección de objeto y distancia y la sincronización cámara-robot para el agarre con brazo robótico.
Casos destacados
SVInvesting
SVInvesting
Plataforma de systematic value investing que valora más de 60.000 empresas al día sobre una base de datos de +5 TB.
- El problema
- Valorar de forma metodológica y sistemática todas las empresas del mercado a la vez, con recálculo diario según precios y reportes trimestrales/anuales, sin que el sistema colapsara.
- Decisión de stack
- Reestructuración del ecosistema de MySQL a PostgreSQL y de Pandas a Polars para hacer viable el cálculo en tiempo real; tablas de miles de millones de registros con un ecosistema de particiones para optimizar queries.
- El reto técnico
- Diseñar un módulo de datos genérico que generalizara a todo tipo de activos y sus casuísticas (distintos mercados, frecuencias de reporte) sobre una base de datos de +5 TB.
- Impacto
- Valoración diaria de 60.000+ empresas en tiempo real, sobre un servidor dedicado con 300+ GB de RAM y 10+ TB de disco. Base del fondo de inversión de Baboon Technologies.
Chatbot de WhatsApp para reservas de club
Chatbot de WhatsApp para reservas de club
Chatbot de WhatsApp con el que cualquier socio de un club gestiona sus reservas conversando, con LLM y tooling.
- El problema
- Dar a cualquier usuario de un club una forma natural de agendar pistas, ver cuándo están libres las siguientes o hacer cualquier gestión de reserva, sin apps ni formularios.
- Decisión de stack
- Mecanismo LLM + tooling (function calling): el modelo interpreta la conversación en lenguaje natural y llama a herramientas que consultan y operan el sistema de reservas del club, todo sobre WhatsApp.
- El reto técnico
- Traducir peticiones libres ("¿cuándo tengo pista mañana por la tarde?") en acciones fiables sobre el sistema de reservas, resolviendo disponibilidad, huecos y confirmaciones dentro del propio chat.
Analítica de vídeo deportivo con IA — Rackety
Analítica de vídeo deportivo con IA — Rackety
Detección de highlights por gesto y mapas de calor de jugadores a partir del vídeo de cada partido.
- El problema
- Extraer automáticamente los mejores momentos de un partido y analítica de los jugadores a partir de un vídeo ya grabado, optimizando coste y tiempo de proceso.
- El reto técnico
- Diferenciar el gesto elegido para el highlight (brazos levantados) de movimientos similares del juego (smashes, voleas): una algoritmia sobre las articulaciones (YOLO Pose) que detecta los verdaderos positivos sin añadir falsos.
- Impacto
- Procesado con workers GPU en RunPod para optimizar coste y tiempo, con fuerte foco en multithreading.
App edge de streaming y grabación para clubs
App edge de streaming y grabación para clubs
Dispositivo edge (NUC/Raspberry) en cada club que retransmite, graba y sube el vídeo, orquestado por VPN.
- El problema
- Retransmitir en directo y grabar de forma eficiente el vídeo de cada club, subirlo a la plataforma y saber en cada momento qué debe hacer cada NUC.
- El reto técnico
- Montar la arquitectura VPN (OpenVPN → WireGuard) y un servidor RTMPS centralizado con NGINX para monitorizar remotamente la conectividad de cámaras y procesos en cada club.
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).
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.
MCP de diagnóstico y reparación remota
MCP de diagnóstico y reparación remota
Un MCP que navega el ecosistema de 250+ servidores para diagnosticar y arreglar incidencias remotas con la potencia de los LLM.
- El problema
- Diagnosticar y resolver incidencias en un ecosistema de 250+ servidores donde muchos recursos solo son alcanzables saltando por la red: cámaras accesibles únicamente desde su servidor remoto y bases de datos locales con datos temporales en cada servidor.
- Decisión de stack
- Un MCP (Model Context Protocol) que expone al LLM herramientas para navegar la red de servidores y load balancers, inspeccionar servidores y cámaras remotas, consultar las BD locales y aplicar arreglos, sobre la arquitectura de reverse proxy/load balancing en el 443 del ecosistema de vídeo-analítica.
- El reto técnico
- Alcanzar recursos profundamente anidados (cámaras y BD locales solo accesibles saltando de servidor en servidor a través de los load balancers) y exponer esa navegación como herramientas fiables para que el LLM diagnostique y repare de forma autónoma.
- Impacto
- Monitorización y diagnóstico de un ecosistema de 250+ servidores en producción, acelerando la resolución de errores en servidores y cámaras remotas.
Sistema de conteo de personas
Sistema de conteo de personas
El primer sistema de conteo de aforos homologado por el CEM, con >99% de precisión y multicámara en tiempo real.
- El problema
- Medir el aforo con precisión certificable en espacios multitudinarios (ferias, casinos, fiestas populares), donde una sola cámara no cubre portones anchos y el solape entre cámaras provoca dobles conteos.
- Decisión de stack
- Prototipo en Python (YOLOv2 + un algoritmo de tracking propio) reescrito en C++ con CUDA para escalar en rendimiento; multithreading para procesar muchas cámaras con una sola GPU.
- El reto técnico
- Fusionar y sincronizar en tiempo real hasta 12 cámaras alineadas en una única vista sobre la que corren las analíticas, con una configuración fina del solape para no contar dos veces a la misma persona.
- Impacto
- Precisión superior al 99% homologada por el CEM (Centro Español de Metrología) — el primer sistema de conteo certificado. Robusto con hasta 200 personas bajo una misma cámara (San Fermines).
Analíticas de accesos y andenes — Renfe
Analíticas de accesos y andenes — Renfe
Conteo por torno, detección de fraude y aforo de andén desplegados en toda la red de Renfe.
- El problema
- Controlar accesos y andenes a escala de toda una red ferroviaria: conteo por torno, fraude (dos personas a la vez, salto del torno), personas con objetos, saltos a la vía y aforo.
- Impacto
- Desplegado en toda la red de Renfe y auditado periódicamente por el cliente, validando su precisión de forma recurrente.
Seguimiento y agarre de objeto con cámara 3D + brazo robótico
Seguimiento y agarre de objeto con cámara 3D + brazo robótico
Trabajo de Final de Grado: una cámara 3D y un brazo robótico que detecta un objeto, se acerca y lo coge.
- El problema
- Ensamblar una cámara 3D con un brazo robótico motorizado y un algoritmo de visión para detectar un objeto y su distancia, seguirlo, acercarse y agarrarlo automáticamente.
- El reto técnico
- La cámara 3D pierde profundidad a menos de 0,5 m; se resolvió interpolando con la odometría de las ruedas para estimar la posición en el rango cercano, además de la cinemática inversa del brazo.
Prototipo de dispensador de fármacos — Hospital de Valls
Prototipo de dispensador de fármacos — Hospital de Valls
Dispensador electromecánico que registra y autoriza la extracción de mórficos por huella dactilar.
- El problema
- En una urgencia, el personal cogía productos mórficos sin dejar registro; las administraciones lo penalizaban porque todo debía quedar registrado.
- El reto técnico
- Coordinar un sistema electromecánico completo: placa Arduino con sensores en 40 huecos, motor paso a paso, compuerta con servomotor y lector de huella, todo con una tablet (app Java + MySQL).
Formación
- Máster en Data Science
- Ing. Electrónica Industrial y Automática
Idiomas
- Castellano Nativo
- Catalán Nativo
- Inglés B2/C1
¿Tienes algo en mente?
Escríbeme y lo comentamos. Respondo a proyectos, colaboraciones y preguntas técnicas.