Selected GitHub projects — coursework from Politecnico di Milano and KTH, two ACM RecSys Challenge entries, and a hackathon. Full list on GitHub.

2023 Team (2)

ID2222 — Data Mining lab assignments

ID2222 Data Mining @ KTH Royal Institute of Technology

Five labs covering core data-mining algorithms: shingling + min-hash + LSH for near-duplicate detection, A-Priori association rules, the Triest streaming triangle counter, spectral clustering, and the JaBeJa graph partitioner.

JavaJupyterAlgorithms

2022 Hackathon team

HackaTUMeme — gamified movie recommender

HackaTUM @ TU München

Conversational movie recommender that explores MovieLens as a graph rather than as a static carousel: temporarily expands the user profile during a session and surfaces films through trivia and social context.

PythonDjangoLenskitTypeScript

2022 Team (2)

II2202 — Quantum Ridge Regression on D-Wave

II2202 Research Methodology @ KTH Royal Institute of Technology

Empirical study of training Ridge regression on a D-Wave hybrid quantum annealer vs. classical Cholesky decomposition. Found that quantum-trained models do not match classical reliability across the datasets tested.

PythonD-WaveQuantum ML

2022 Team (3)

RecSys Challenge 2022 — 11th place

ACM RecSys Challenge 2022 @ Politecnico di Milano

11th-place solution to the ACM RecSys Challenge 2022. Three-stage pipeline: collaborative / content / graph recommenders, neural sequence models (Transformer, BiLSTM, GRU), and a 10-fold LGBM ranker on top — reached ~0.1965 MRR@100 on test.

PythonTensorFlowLightGBMRecommender Systems

2021 Team (3)

CLup — RASD & Design Document

Software Engineering 2 @ Politecnico di Milano

Requirements & Specification (RASD v1.2) and Design Document (DD v1.0) for the CLup queue-management application. Models written in Alloy and MagicDraw, mockups in Moqups.

LaTeXAlloyRequirements Engineering

2021 Solo

DB2 — JEE database application

Databases 2 @ Politecnico di Milano

Enterprise-Java web application built on JPA, JEE, and Thymeleaf — full DDL schema, persistence layer, and templated UI for a Databases 2 course assignment.

JavaJEEJPAThymeleaf

2021 Solo

Quantum linear regression on Orquestra

Independent project

Orquestra component that trains an OLS linear regression model via simulated / quantum annealing — a stepping stone toward the later D-Wave Ridge regression study.

PythonOrquestraQuantum ML

2021 Team (8)

RecSys Challenge 2021 — Trial&Error team

ACM RecSys Challenge 2021 @ Politecnico di Milano

Tweet-engagement prediction pipeline for the ACM RecSys Challenge 2021. LightGBM / XGBoost / CatBoost gradient boosting on transformer-derived features, distributed with Dask on AWS GPU/CPU instances.

PythonLightGBMXGBoostTransformersAWS

2020 Team (2)

Working-zones address decoder (VHDL)

Reti Logiche @ Politecnico di Milano

VHDL hardware module that decodes 8-bit memory addresses using the working-zones locality scheme to reduce switching activity. Verified with Vivado testbenches; graded 30/30 cum laude.

VHDLVivadoDigital Design

2020 Solo

RecSys Challenge 2020 — PoliMi

Recommender Systems course challenge @ Politecnico di Milano

5th / 8th (public / private) out of 66 in the in-class Kaggle challenge. Generalised N-score hybrid over MF-IALS, RP3-Beta and SLIM-ElasticNet, with a GPU-accelerated MF that cut training from ~10 min to 30 s.

PythonCythonRecommender SystemsGPU

2020 Team (3)

Santorini — distributed multiplayer board game

Software Engineering @ Politecnico di Milano

Full implementation of the Santorini board game in Java SE 14: socket networking, multiple concurrent matches, CLI + GUI clients, five advanced god powers, and a CircleCI pipeline with ~95% server-side test coverage.

JavaMavenSocketsCircleCI

2019 Solo

API — graph-relationship engine in C

Algoritmi e Principi dell'Informatica @ Politecnico di Milano

Graph-mutation program (addent / addrel / delent / delrel / report) written in C and tuned for an automated grader on both runtime and memory budgets. Final score 30/30 cum laude.

CAlgorithmsPerformance