A. K. Mackay
Contents

Andrew K. Mackay

Machine Learning & AI Engineer · Zaragoza, Spain

StatusLooking for hands-on ML and AI engineering roles.

Abstract. I am a machine learning engineer with a research background in reinforcement learning and robotics. I hold an MSc in Computer Science from the University of Innsbruck, have published on reinforcement learning for robot navigation, and have put models in front of real users, from eye-tracking diagnostics validated with over 4,000 patients to LLM solutions for industry clients.

Most of my recent work is on LLMs, retrieval and agents, where I care as much about measuring a system as about building it.

Selected work

2025 – present

LangChain, Ollama, Phi-3, Qdrant, Sentence Transformers, MLflow, Streamlit

A local assistant that answers programming questions from a code corpus, reviews its own answers and retries when they fall short.

Bar chart of correctness and faithfulness per agent. The Phi-3 self-correcting baseline scores 83% correctness; tool-calling agents on 3B models score between 8% and 33%.Bar chart of correctness and faithfulness per agent. The Phi-3 self-correcting baseline scores 83% correctness; tool-calling agents on 3B models score between 8% and 33%.
LLM-as-judge benchmark. The self-correcting pipeline reaches 83% correctness; the best 3B tool-calling agent reaches 33%, as its loops often hit the step limit before answering.

Read the write-up →

2026 – present

PyTorch, tiktoken, PPO, RLHF

A Llama-style language model written from scratch in PyTorch, small enough to pre-train on a laptop, then fine-tuned with reinforcement learning.

Line chart of training and validation cross-entropy loss over 2,000 steps, falling from 6.0 to about 3.3.Line chart of training and validation cross-entropy loss over 2,000 steps, falling from 6.0 to about 3.3.
Pre-training on TinyStories. Cross-entropy falls from 6.0 to about 3.3 over 2,000 steps, with validation loss tracking training loss closely.

Read the write-up →

2025

Part of my MSc thesis

PyTorch, D4RL, MuJoCo, Guild AI, Hugging Face Hub

A reimplementation of the MOReL offline reinforcement learning framework with the improvements I proposed in my MSc thesis. It outperforms the original on the D4RL HalfCheetah benchmark.

Line chart of average return over 2,500 policy-search steps. J-MOReL levels off around 6,700; the original MOReL levels off around 5,950.Line chart of average return over 2,500 policy-search steps. J-MOReL levels off around 6,700; the original MOReL levels off around 5,950.
Average return during policy search on D4RL halfcheetah-medium. J-MOReL levels off around 6,700, against about 5,950 for the original MOReL.

Read the write-up →

Experience

AI Solutions Architect

Multiverse Computing

Feb 2026 – Jun 2026

Zaragoza, Spain

LLMs, RAG, Agents, Fine-tuning, Whisper, Computer vision

  • Met clients in health, climate, media and manufacturing to understand their problems, then designed LLM-based solutions: model compression, fine-tuning, retrieval-augmented generation and agent orchestration, plus computer vision and Whisper speech pipelines.
  • Wrote the technical side of proposals for private companies and of public R&D consortium bids, including EU Horizon and Spain’s Misiones programme.
  • Benchmarked models and built demos to validate proposed solutions.

Research Software Engineer

Aragón Health Research Institute (IIS Aragón)

Oct 2020 – Jul 2021

Zaragoza, Spain

C#, Kotlin, Android, Deep learning, Edge deployment

  • Built core components in C# and Kotlin for TrackAI, a platform that uses eye tracking to assess visual function in patients who cannot take a standard eye test, such as infants. It has been validated with more than 4,000 patients.
  • Deployed deep-learning gaze-estimation models to mobile hardware (Huawei NPU) through an Android app.
  • Worked with clinicians and researchers to replace manual evaluation steps with automated diagnostic tools.

Research Intern

University of Zaragoza, Graphics & Imaging Lab

Jul 2020 – Sep 2020

Zaragoza, Spain

Python, Data analysis, Visualisation

  • Studied how visual perception develops during infancy through eye-tracking experiments.
  • Processed high-frequency gaze recordings into visualisations the research group could use for large-scale analysis.

Machine Learning Intern

Hiberus Tecnología

Jul 2019 – Aug 2019

Zaragoza, Spain

Python, XGBoost, Neural networks, JavaScript

  • Built binary classifiers (XGBoost, neural networks) that predict customer conversion from real sales data, with feature-importance analysis, and presented the results to the R&D team.
  • Developed blockchain web applications on Ethereum smart contracts.

Education

MSc in Computer Science

University of Innsbruck

Oct 2021 – Sep 2025

Innsbruck, Austria

Specialisation in Robotics, Perception and Interaction. Final grade: Excellent, 96/100.

BEng in Computer Science Engineering

University of Zaragoza

Sep 2016 – Oct 2020

Zaragoza, Spain

Specialisation in Computing.

Research

RL-DOVS: Reinforcement Learning for Autonomous Robot Navigation in Dynamic Environments

Journal article, 2022

A. K. Mackay, L. Riazuelo, L. Montano. Sensors 22(10), 3847, 2022.

A reinforcement learning planner for service robots that navigate among people moving unpredictably. Instead of learning from raw lidar or camera data, the agent sees the scene as a dynamic object velocity space (DOVS): which velocities are safe for the robot, given its kinodynamic constraints and the obstacles’ motion. This representation makes training faster than learning from raw sensors.

BibTeX
@article{mackay2022rldovs,
  title   = {{RL-DOVS}: Reinforcement Learning for Autonomous Robot Navigation in Dynamic Environments},
  author  = {Mackay, Andrew K. and Riazuelo, Luis and Montano, Luis},
  journal = {Sensors},
  volume  = {22},
  number  = {10},
  pages   = {3847},
  year    = {2022},
  doi     = {10.3390/s22103847}
}

Model-Based Reinforcement Learning: Optimizing Action Choice on Learned Dynamics

MSc thesis, 2025

MSc thesis, University of Innsbruck. Awarded the highest grade.

Learns a model of the environment’s dynamics from offline data with neural-network ensembles, then uses it to choose actions while penalising predictions the ensemble disagrees on. The work is public as three projects: J-MOReL, an improved reimplementation of the MOReL offline RL framework; MBiCEM, a trajectory planner that runs iCEM on learned models; and the dynamics ensembles both are built on.

Reinforcement Learning Applied to Autonomous Multi-Robot Navigation Systems in Dynamic Environments

BEng thesis, 2020

BEng thesis, University of Zaragoza. Extended into the RL-DOVS journal article.

Skills and languages

ML & LLMs
PyTorch, Hugging Face Transformers, LangChain, scikit-learn, XGBoost, Reinforcement learning
Data
Databricks, PySpark, SQL, Pandas, Qdrant
MLOps & cloud
Docker, MLflow, FastAPI, GCP (Cloud Run, IAM, Artifact Registry, Secret Manager), CI/CD, Git, Linux
Languages
Python, C++, C#, Kotlin, Java, JavaScript
Visualisation
Streamlit, Tableau, Matplotlib, Seaborn
Spoken
Spanish (native), English (fluent, Cambridge C2 Proficiency), German (A1)

Contact

Looking for hands-on ML and AI engineering roles. The quickest way to reach me is by email at andrewkm210@gmail.com. My code is on GitHub, and I am also on LinkedIn.