AI Software Architect

Sistemas de IA, visión por computador y datos a escala, de la arquitectura a producción.

L'Hospitalet de Llobregat (Barcelona) · Remoto
Edgar Alarcón
Sobre mí

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
Trayectoria

Dónde he trabajado

Cofundador & Tech Lead

Baboon Technologies

2024 – actualidad

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

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

Más de seis años en Infinity Neural en dos fases: de desarrollador y arquitecto de Computer Vision a Tech Lead del equipo.

  1. 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.

  2. 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

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

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.

Proyectos

Casos destacados

Baboon Technologies 2024 – actualidad

SVInvesting

PythonPolarsPostgreSQLFastAPIProxmox

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.
Rackety TV 2023 – jun 2025

Chatbot de WhatsApp para reservas de club

LLMToolingWhatsAppAgentes

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

Demo de la analítica de vídeo de Rackety
PythonYOLO PoseComputer VisionRunPodMultithreading

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

NUCRTMPSNGINXWireGuardEdge computing

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.
Freelance 2021 – actualidad

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).

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.
Infinity Neural 2017 – 2024

MCP de diagnóstico y reparación remota

MCPLLMAgentesRedesLoad balancing

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

C++CUDAYOLOOpenCVMultithreading

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

Computer VisionC++Multicámara

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.
Univ. der Bundeswehr München sep 2016 – ene 2017

Seguimiento y agarre de objeto con cámara 3D + brazo robótico

C++OpenCVPCLCinemática inversaOdometría

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.
Otros proyectos

Prototipo de dispensador de fármacos — Hospital de Valls

ArduinoElectrónicaJavaMySQL

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 e idiomas

Formación

  • Máster en Data Science Univ. Oberta de Catalunya (UOC) · 2019 – 2021
  • Ing. Electrónica Industrial y Automática Univ. Politècnica de Catalunya (UPC) · 2012 – 2017

Idiomas

  • Castellano Nativo
  • Catalán Nativo
  • Inglés B2/C1
Contacto

¿Tienes algo en mente?

Escríbeme y lo comentamos. Respondo a proyectos, colaboraciones y preguntas técnicas.