AI, computer vision and data-at-scale systems, from architecture to production.
From idea to production.
AI Software Architect in Barcelona. What defines me is taking an idea all the way to production: complex architecture, pioneering R&D and product that works in the real world, not in a demo.
- Where I come from: electronics, robotics and 3D vision
- Where I am strong: industrial-scale computer vision
- Where I am heading: agentic AI and massive data
Where I excel
Each area gathers the experience and projects that back it up.
Computer Vision & Video Analytics
Industrial-scale computer vision, from R&D to homologated product.
Applied AI & Agentic Systems
LLMs, RAG and agents embedded in real products, traceable and multi-tenant.
Software & Data Architecture at Scale
Multi-TB databases, pipelines and batch jobs that don’t buckle.
DevOps, Infrastructure & Networking
Orchestration, continuous deployment, observability and secure networking.
Electronics, Robotics & Edge
My roots: electromechanical systems, robotic arms and edge devices.
Product Leadership & R&D
From idea to product: multidisciplinary teams and production systems.
Where I have worked
Co-founder & Tech Lead
Baboon Technologies
2024 – present
Co-founder & Tech Lead
Baboon Technologies
I co-founded Baboon Technologies, whose flagship product is SVInvesting. I lead the software architecture, deployments, batch jobs and monitoring, plus the infrastructure (Proxmox, Docker) and the scaling of its 5 TB+ database.
AI Software Architect & Consultant
Freelance
2021 – present
AI Software Architect & Consultant
Freelance
End-to-end consulting and product development (applied AI, backend and infrastructure) for clients. The umbrella under which I co-founded Baboon Technologies and Rackety TV.
Software Architect & Tech Lead
Infinity Neural
2017 – 2024
Software Architect & Tech Lead
Infinity Neural
Over six years at Infinity Neural across two phases: from Computer Vision developer and architect to the team’s Tech Lead.
- Tech Lead & Software Architect Jul 2022 – Apr 2024 · Full-time
I led the production rollout of a Computer Vision system across 200+ servers, plus the team’s technical leadership, architecture, scaling and monitoring.
- Software Architect & Computer Vision Developer Nov 2017 – Jul 2022 · Full-time
Architecture and development of the Computer Vision core: real-time computer vision systems for object detection and tracking.
VR & Robotics Developer
Altran · Barcelona
2017 · 9 months
VR & Robotics Developer
Altran · Barcelona
VR and robotics proofs of concept for the Barcelona showroom: robot code in C and virtual-reality environments in Unity/C#, including remote control of a robotic arm from VR over WebSockets.
Robotics & Computer Vision Researcher
Univ. der Bundeswehr München · Munich, Germany
Sep 2016 – Jan 2017
Robotics & Computer Vision Researcher
Univ. der Bundeswehr München · Munich, Germany
Final degree project: research in 3D computer vision and robotics. I developed the object and distance detection algorithm and the camera-robot synchronization for grasping with a robotic arm.
Selected work
SVInvesting
SVInvesting
A systematic value investing platform that values 60,000+ companies a day over a 5 TB+ database.
- The problem
- Methodically and systematically valuing every company in the market at once, with daily recomputation on price changes plus quarterly/annual reports, without the system buckling.
- Stack decision
- Re-architecting the stack from MySQL to PostgreSQL and from Pandas to Polars to make real-time computation viable; billion-row tables with a partitioning scheme to optimize queries.
- The technical challenge
- Designing a generic data module that generalizes to any asset type and its edge cases (different markets, reporting frequencies) over a 5 TB+ database.
- Impact
- Real-time daily valuation of 60,000+ companies on a dedicated server with 300+ GB of RAM and 10+ TB of disk. The backbone of Baboon Technologies’ investment fund.
WhatsApp booking chatbot for clubs
WhatsApp booking chatbot for clubs
A WhatsApp chatbot that lets any club member manage their bookings by chatting, powered by an LLM and tooling.
- The problem
- Give any club user a natural way to book courts, check when the next ones are free or do any booking task, without apps or forms.
- Stack decision
- An LLM + tooling (function calling) mechanism: the model interprets the natural-language conversation and calls tools that query and operate the club’s booking system, all over WhatsApp.
- The technical challenge
- Turning free-form requests ("when can I play tomorrow afternoon?") into reliable actions on the booking system — resolving availability, slots and confirmations inside the chat itself.
AI sports video analytics — Rackety
AI sports video analytics — Rackety
Gesture-based highlight detection and player heatmaps from each match’s footage.
- The problem
- Automatically extracting a match’s best moments and player analytics from already-recorded footage, optimizing cost and processing time.
- The technical challenge
- Telling the chosen highlight gesture (raised arms) apart from similar in-game moves (smashes, volleys): an algorithm over the joints (YOLO Pose) that catches true positives without adding false ones.
- Impact
- Processed with GPU workers on RunPod to optimize cost and time, with a strong focus on multithreading.
Edge streaming & recording app for clubs
Edge streaming & recording app for clubs
An edge device (NUC/Raspberry) in each club that streams, records and uploads video, orchestrated over VPN.
- The problem
- Efficiently live-streaming and recording each club’s video, uploading it to the platform and knowing what every NUC should do at any moment.
- The technical challenge
- Building the VPN architecture (OpenVPN → WireGuard) and a centralized RTMPS server with NGINX to remotely monitor camera and process connectivity in each club.
Chat Engine
Chat Engine
A multi-client agentic chat engine with RAG, external tools and generative BI, isolated per client.
- The problem
- Give each client an assistant that answers any question about their documents and data, connects to their tools and generates charts and dashboards, while keeping data isolated.
- Stack decision
- FastAPI + LangChain/LangGraph, RAG indexing with pgvector and Cohere Rerank, orchestration of several LLMs by quality/price (OpenRouter, Gemini, Deepseek) and tools via MCP/FastMCP. Fully traceable with Langfuse.
- The technical challenge
- During indexing, automatically clustering information, detecting discrepancies and allowing manual curation; and isolating data by project_id in a reusable multi-tenant engine.
- Impact
- A reusable engine in production for several clients (financial Q&A, margin and profitability monitoring with charts).
PrismaRiders
PrismaRiders
A platform for at-home therapists with a slot optimizer that minimizes travel and waiting time.
- The problem
- Cutting travel and waiting time for at-home therapists, bringing several roles (therapists, patients, centers, guardians, admin), clinical records, calendar and payments into a single platform.
- Stack decision
- Next.js/React + FastAPI/SQLAlchemy on PostgreSQL; Stripe (recurring payments and Connect), Google Calendar (two-way sync) and OpenRouteService for real distances/times.
- The technical challenge
- The slot optimizer: it scores (0–100) each therapist’s gaps and places every patient in the best one using real locations, penalizing dead waiting time and travel.
Ecosystem infrastructure & observability
Ecosystem infrastructure & observability
The cross-cutting infrastructure that orchestrates, deploys and monitors every service and project.
- The problem
- Managing multiple services and platforms in a reproducible, well-monitored way, with continuous deployment, backups and alerts.
- Stack decision
- Dokploy + Docker for orchestration, Traefik as reverse proxy, DNS on Cloudflare, WireGuard VPN, SSH tunnels with socat, daily S3 backups and job monitoring with Uptime Kuma plus centralized observability.
Remote diagnosis & repair MCP
Remote diagnosis & repair MCP
An MCP that navigates the 250+ server ecosystem to diagnose and fix remote incidents with the power of LLMs.
- The problem
- Diagnosing and fixing incidents across a 250+ server ecosystem where many resources are only reachable by hopping through the network: cameras accessible only from their remote server, and local databases with temporary data on each server.
- Stack decision
- An MCP (Model Context Protocol) that exposes tools to the LLM to navigate the network of servers and load balancers, inspect remote servers and cameras, query the local databases and apply fixes, on top of the video-analytics ecosystem’s 443 reverse-proxy/load-balancing architecture.
- The technical challenge
- Reaching deeply nested resources (cameras and local DBs only accessible by hopping server to server through the load balancers) and exposing that navigation as reliable tools so the LLM can diagnose and repair autonomously.
- Impact
- Monitoring and diagnosis of a 250+ server production ecosystem, speeding up the resolution of errors on remote servers and cameras.
Crowd-counting system
Crowd-counting system
The first crowd-counting system homologated by the Spanish Metrology Center, with >99% accuracy and real-time multi-camera fusion.
- The problem
- Certifiably accurate crowd counting in massive venues (trade fairs, casinos, street festivals), where a single camera can’t cover wide entrances and overlap between cameras causes double counting.
- Stack decision
- Python prototype (YOLOv2 + a custom tracking algorithm) rewritten in C++ with CUDA to scale performance; multithreading to process many cameras on a single GPU.
- The technical challenge
- Fusing and synchronizing up to 12 aligned cameras in real time into a single view where analytics run, with fine overlap configuration so the same person is never counted twice.
- Impact
- Over 99% accuracy homologated by the Spanish Metrology Center — the first certified counting system. Robust with up to 200 people under a single camera (San Fermín festival).
Access & platform analytics — Renfe
Access & platform analytics — Renfe
Turnstile counting, fraud detection and platform occupancy deployed across the entire Renfe network.
- The problem
- Monitoring accesses and platforms across an entire rail network: turnstile counting, fraud (two people at once, jumping the gate), people carrying objects, track intrusions and occupancy.
- Impact
- Deployed across the whole Renfe network and periodically audited by the client, recurrently validating its accuracy.
Object tracking & grasping with a 3D camera + robotic arm
Object tracking & grasping with a 3D camera + robotic arm
Final degree project: a 3D camera and a robotic arm that detects an object, approaches it and grabs it.
- The problem
- Assembling a 3D camera with a motorized robotic arm and a vision algorithm to detect an object and its distance, follow it, approach and grab it automatically.
- The technical challenge
- The 3D camera loses depth below 0.5 m; solved by interpolating with wheel odometry to estimate position in the near range, plus the arm’s inverse kinematics.
Drug dispenser prototype — Valls Hospital
Drug dispenser prototype — Valls Hospital
An electromechanical dispenser that logs and authorizes morphine extraction via fingerprint.
- The problem
- In an emergency, staff took morphine products without leaving a record; regulators penalized this because everything had to be logged.
- The technical challenge
- Coordinating a full electromechanical system: an Arduino board with sensors across 40 slots, a stepper motor, a servo-driven hatch and a fingerprint reader, all tied to a tablet (Java app + MySQL).
Education
- Master's in Data Science
- BEng Industrial Electronics & Automation
Languages
- Spanish Native
- Catalan Native
- English B2/C1
Got something in mind?
Drop me a line and we talk. I answer projects, collaborations and technical questions.