Experience


Machine Learning Software developer

04/2023 - Present

  • Led the redesign of a legacy multi-camera annotation tool into a modern FastAPI + Vue web application tailored to Grazper’s large-scale 3D computer vision datasets, enabling ~10 internal annotators to work efficiently through a novel 3D-first interaction model for pose correction and review.

  • Collaborated on fine-tuning Ultralytics YOLO 2D pose-estimation models on Grazper’s in-house multi-camera datasets, including dataset preparation, experiment iteration, augmentation improvements, and evaluation of subsequent training directions.

  • Co-designed and built an auto-annotation pipeline that converted 2D pose-estimation outputs into track-consistent 3D annotations using triangulation and Kalman-filter smoothing, reducing manual work and improving throughput in production annotation workflows.

  • Led the company’s migration from Gitea to GitHub, establishing reproducible CI/CD workflows on containerized self-hosted GitHub runners for privacy-sensitive dataset and model pipelines. Check out this post for more details.

  • Deployed and maintained core internal platform infrastructure, including a self-hosted package registry, Prometheus + Grafana for observability, and MLflow for experiment tracking and model deployment workflows.

  • Built a speech-driven internal prototype during a company hackathon, using voice segmentation, speech-to-text, and an internal MCP server to expose Grazper product commands to a local language-model agent.

Master Thesis Student

07/2022 - 02/2023


Data Science Student

06/2021 - 07/2022

  • Performed data processing, statistical analysis, and visualization for the HR department of Novo Nordisk’s largest production site.
  • Built automated workflows for data collection, cleaning, and reporting, improving the reliability and usability of HR data for recurring operational follow-up.
  • Developed dashboards and forecasting tools that helped non-technical stakeholders monitor workforce trends and planning needs.


Teaching Assistant

02/2021 - 06/2021

  • Assisted teaching the course 02450 – Introduction to Machine Learning and Data Mining.
  • Supervised weekly labs for 40+ students and evaluated course projects.

Technical Skills

Languages

  • Python
  • TypeScript/JavaScript
  • Bash
  • C/C++
  • HTML/CSS
  • LaTeX
  • Matlab

Backend / APIs

  • FastAPI
  • Pydantic
  • SQLAlchemy
  • Alembic
  • Flask
  • WebSockets

Databases

  • PostgreSQL
  • SQL
  • Data modeling
  • DB migrations

Machine learning

  • PyTorch
  • PyTorch Lightning
  • Ultralytics
  • YOLO
  • MLOps
  • MLflow
  • OpenCV
  • Scikit-learn
  • FiftyOne
  • Ollama

Numerical

  • NumPy
  • Autograd
  • SciPy

Infrastructure / DevOps

  • Docker
  • Git
  • GitHub Actions
  • self-hosted runners
  • Linux
  • Gitea (packages)
  • Vim

Observability / Auth

  • Prometheus
  • Grafana
  • Microsoft Entra ID
  • OpenID Connect
  • OAuth 2.0

Data viz

  • Pandas
  • Matplotlib
  • Plotly/Dash

Frontend

  • Vue
  • Hugo
  • Pinia
  • Three.js

Projects

Here are some of the projects I’ve done in the past or I’m currently doing now:

  • PureGym MCP
    Built a Python client and MCP server for PureGym by reverse-engineering the app’s internal API and turning it into a reusable automation layer. It provides an MCP interface for class search, booking management, live center status, and opening hours for LLM clients and other agent tools.

  • PureGym Telegram Bot
    Built on top of the PureGym client above to automate bookings, send reminders, and manage classes from Telegram.

  • ScaleGuru
    A web tool for practicing musical scales and keys, designed for daily use in my own music practice. Built with TypeScript, with ear-training and visualization features for structured instrument practice.

  • Bayesian Methods for Electroencephalogram (EEG) Decoding
    Implementing and comparing the performance of different Bayesian Neural Networks (Ensembles/SWA/SWAG/MultiSWAG) with state-of-the-art deep learning techniques in the task of classifying EEG readings while the test subjects imagines performing a task.

  • Time Series Anomaly Detection with Variational AutoEncoder and GRU
    Research project for DTU’s Advanced Machine Learning course exploring ways of combining VAEs with RNNs to detect anomalies in real-world time-series data from vehicle telemetry, including the design and training of novel hybrid architectures. Read the paper here.


Education

  • MSc in Mathematical Modelling and Computation at Technical University of Denmark (DTU): 09/2020 - 02/2023
    Graduate studies focused on machine learning, mathematical modelling, and scientific computing, with relevant work in deep learning, Bayesian machine learning, algorithms and data structures, high-performance computing, optimization, and stochastic processes.

  • BSc + MSc in General Engineering at UPV: 09/2015 - 07/2020
    Broad engineering education spanning mathematics, physics, electronics, mechanics, control systems, and computation, providing a strong foundation for interdisciplinary software and machine learning work.


About Me

Music

I play trombone in orchestras, jazz ensembles, and modern music bands. For me, music is about sharing something I love with other people, and staying creative through improvisation.

Sports

I stay active through running, cycling, strength training, and occasional bouldering, mainly to stay healthy, challenge myself and enjoy the social side of training.

Languages

Spanish and Catalan (native), English (professional).

References

Available upon request.