Mario Russo — Profile
About me
Portrait of Mario Russo

Mario Russo

AI/ML Engineer · RAG, LLM Evaluation & Backend Systems

I’m an AI/ML engineer and recent MSc graduate from Politecnico di Milano, specializing in Artificial Intelligence, with around three years of professional software development experience. I bring a background in backend systems, architecture, and production software, and I’m looking to apply that experience to building and improving AI/ML systems.

Based in Italy · Seeking remote AI/ML roles in an established AI team. Hybrid work can be discussed.

Selected AI/ML Projects

2-person projectEdge ML

Package Theft Detection

My work: Designed and trained the face-verification models for a system that recognizes authorized people and packages.

Outcome: The team deployed a compressed face encoder with package localization on Arduino-class hardware.

4-person projectNLP

Medical QA with LLMs

My work: Implemented document clustering, fine-tuned a GPT-2 model, and added text-to-speech output.

Outcome: A working academic question-answering prototype on consumer hardware, without rigorous answer-quality evaluation.

3-person projectClassification

Hardware Failure Classification

My work: Addressed class imbalance with SMOTE and GAN-generated samples, trained XGBoost and SVM models, and explained predictions with SHAP.

Evaluation work: Compared augmentation quality and model performance while tuning hyperparameters.

Experience

Mirai Software · Software Development Supervisor

Jan 2025 – Aug 2025

  • Moved from implementation-only work into architecture decisions, task planning, code review, and production releases while continuing to write code.
  • Coordinated two management-software projects: one with two developers and another with three.
  • Translated requirements from ecommerce and manufacturing clients into technical work and monitored production services with Grafana and Prometheus.

Mirai Software · Full Stack Developer

Apr 2023 – Dec 2024

  • Built management software for ecommerce and manufacturing companies with FastAPI, Laravel, Filament, Vue, React, and Docker.
  • Developed data synchronization services for customers, orders, and products across proprietary systems, Amazon, Shopify, Notion, WordPress, and Brevo.
Production problem solved

Failed imports could be retried without idempotency, creating duplicate records. I introduced idempotency keys so repeated import requests could complete safely without duplicating data.

Yeet Robotics · Backend Developer

Aug 2022 – Mar 2023

  • Built scraping modules that collected product details and availability from several retail websites.
  • Repackaged the collected data into Discord notifications for paying subscribers.
  • Reverse engineered APIs and profiled legacy code to improve integration reliability and maintainability.

How I work

Software as a craft

I am pragmatic about delivery, but deliberate about architecture, code quality, and engineering trade-offs. I care about understanding why a solution fits the problem, as well as making it work.

Why AI/ML

AI and machine learning have always been my main interest. That motivated my MSc specialization in Artificial Intelligence at Politecnico di Milano. I especially enjoy investigating why models underperform and designing experiments to improve them.

Currently learning

I am studying AWS, LangChain, and LangGraph, with an emphasis on reliable agents and AI-backend systems.

Technical Skills

AI/ML & evaluation
  • RAG, embeddings, and retrieval
  • Ragas and Langfuse
  • Pandas and model experimentation
  • Transformers and SHAP
Production software
  • Python, PHP, and TypeScript
  • FastAPI and Laravel
  • REST APIs and integrations
  • pytest and Pest
Academic ML experience
  • Scikit-learn and TensorFlow
  • Classification and class imbalance
  • Computer vision and edge ML
  • SymPy and numerical workflows
Data & developer tools
  • PostgreSQL, MySQL, MongoDB, Qdrant
  • Git, Docker, and CI/CD
  • Grafana and Prometheus
  • GitHub Actions and Bash

Education

Politecnico di Milano

2022 – 2026

MSc Computer Science and Engineering — Artificial Intelligence

Thesis: Systematic Design and Evaluation of Retrieval-Augmented Generation for Structurally Complex Technical Documentation.

Explore the thesis project

Università “Luigi Vanvitelli”

2018 – 2021

BSc Computer and Electronic Engineering

Languages

Italian

Native speaker

English

C1 professional proficiency

Contact

Have an AI/ML role or a project to discuss? Email is the best way to reach me.

RAG for Technical Documentation — Details

RAG for Technical Documentation

MSc thesis · RAG evaluation

Problem and goal

The project investigates how to give factory-floor and maintenance personnel fast, grounded answers about electronics defects documented in the visually complex IPC-A-610F standard.

My responsibility

I designed and built the experimental workflow used to compare document representations, retrieval configurations, generation choices, prompts, and evaluation results.

Design and experiments

The framework covers layout-aware parsing, structural and asset validation, synthetic dataset generation, dense, sparse and hybrid retrieval, reranking, generation models, prompt strategies, and evaluation with Ragas and Langfuse.

What the comparisons showed

Docling produced the most robust representation in the experiments. The best retrieval configuration used text-embedding-3-small, a three-chunk window, and no reranker. Domain-role framing removed refusal-style answers in the evaluated query set, while explicit instructions improved figure-reference retention.

Evaluation scope

The final configuration was checked against a separate 30% synthetic holdout set: questions reserved for the final evaluation. These findings describe the evaluated document and query set; they do not establish reliability for other documents or real factory use.

System pipelines

Parser selection

Pipeline 1: compare document parsers, build a structured graph, generate evaluation datasets, and select the most robust parser.

IPC-A-610F + candidate parsersParse document and build graphOptimize graph and generate datasetsEvaluate parsers in LangfuseSelect best parser
Parser selection pipeline from the IPC-A-610F document and candidate parsers to cross-parser evaluation and selection of the best parser Open full parser-selection diagram
RAG optimization

Pipeline 2: optimize retrieval, generation, and prompts in sequence, then validate the final RAG configuration on held-out questions.

Vector database + ground truth + configurationsOptimize retrievalOptimize LLM and promptValidate on holdout datasetSelect best RAG configuration
RAG optimization pipeline from the vector database, synthetic ground truth, and configurations through retrieval, language model, prompt, and holdout validation Open full RAG-optimization diagram
Package Theft Detection — Details

Package Theft Detection

2-person project · Edge ML

Goal

Build an embedded system that detects packages and recognizes whether the person approaching them is authorized.

My responsibility

In a two-person team, I owned the face-verification work: model architecture, training, data augmentation, and hyperparameter decisions.

Model iteration

I first designed an autoencoder, evaluated its weak performance, and replaced it with a Siamese network. Knowledge distillation was then used to compress the face encoder for constrained hardware.

Deployment and constraints

The final prototype combined the compressed face encoder with FOMO package localization and ran on Arduino-class hardware. Limited compute was the main engineering constraint.

What I would improve

I would run a more systematic precision and accuracy evaluation, then tune the training process around the errors found on the deployed device.

Medical QA with LLMs — Details

Medical QA with LLMs

4-person project · NLP

Goal

The four-person project explored a language-model system that could answer questions over curated medical datasets.

My contribution

I implemented document clustering, fine-tuned a GPT-2 model, and added text-to-speech output to the prototype.

Main constraint

Fine-tuning a language model on a consumer GPU required working within limited memory and compute.

Evaluation gap

The project produced a working academic prototype, but it did not include a rigorous answer-quality evaluation. A next iteration should define a repeatable evaluation dataset and measure correctness before making claims about medical reliability.

Hardware Failure Classification — Details

Hardware Failure Classification

3-person project · Classification

Goal

Classify hardware failures from imbalanced alarm time-series data and understand which signals drove each prediction.

My responsibility

In a three-person team, I focused on augmentation quality and model selection. I generated additional samples with SMOTE and a GAN, then compared how the augmented data affected performance.

Models and interpretation

I trained XGBoost and SVM models, optimized their hyperparameters with Optuna, and used SHAP to explain the resulting predictions.

Next experiment

I would compare recurrent or other sequence-aware models to test whether explicitly modeling the temporal structure improves classification.

Credits and licences

Website interface

Windows 98 inspired

Credits

98.css is used for windows, title bars, buttons, and form controls.

Source Sans 3 is used for the main reading text.

98.css licence · Source Sans 3 licence