My Education

PoliTo

Politecnico di Torino

Bachelor's degree in Computer Engineering

Turin, Italy • Sep 2019 - Jul 2022

GPA: 30.0/30.0 (top student per GPA)

Final Grade: 110 with honors/110


Young Talent Project

Transcript

INSA Lyon

INSA Lyon

Exchange Program - IST Semester

Lyon, France • Sep 2021 - Feb 2022

GPA: 18.0/20.0 (top student per GPA in the IST program)


Coursework

Research project

My Working Experience

Adobe

Adobe

Site Reliability Engineer Intern

Basel, Switzerland • Jul 2024 - Dec 2024

Within the Efficiency team in Adobe Experience Manager. I'm working on a ML project to forecast outages and automatize Root Cause Analysis for Critical System Outages.

Amazon

Amazon

Software Development Engineer Intern

Dublin, Ireland • Aug 2023 - Feb 2024

Part of the AWS CloudWatch Metrics team. We worked with timeseries data (customers' metrics) to forecast anomalies and generate alarms (CloudWatch Anomaly Detection).

  • Implemented a new feature to allow customers to exclude time ranges in a recurring fashion from the training set.
  • Discovered an API security vulnerability in the system and engineered a solution to mitigate the risks.
EPFL

EPFL

Teaching Assistant

Remote • Sep 2023 - Jun 2024

Part of the TAs' team @ DEDIS Lab. Worked as SWE to maintain and improve their projects and help students working at their semester project.

  • Migrated the POPStellar Android front-end from Java to Kotlin (~30k loc).
  • Assisted students working on POPStellar throughout the semester, providing feedback and code reviews.
Storm Reply

Storm Reply

Cloud Engineer Intern

Turin, Italy • March 2022 - Jun 2022

Developed a PoC to provide Vulnerability Assessment and Web Application Penetration Testing on the clients' AWS cloud infrastructure.

My Projects

AI Tutor

Chatbot Tutor

    Made with:

NLP for Education: an AI for tutoring students.


This project introduces our AI Tutor, aiming to extend higher-education tools and solve the imbalance in the students to Teaching Assistants (TAs) ratio.

We optimized the LLM Phi-3-mini-4k-Instruct through Supervised Fine-Tuning and Direct Preference Optimization, and applied double quantization on 4 bits to enhance its accessibility. We also added on top a Retrieval-Augmented Generation system to retrieve context from Wikipedia and LMQL to specialize the model in Multiple Choice Question Answering (MCQA).

Our fine-tuning process made the model much more capable at coding—more than doubling its performance on MBPP—and in complex reasoning tasks, evidenced by higher accuracy in math and human evaluation metrics, while the quantized model—with a 75% reduced size—managed to preserve 98.4% of its accuracy.

Kyber

Kyber

    Made with:

Advanced cryptographic library written in Go.


Worked to release a new version of the library (v4).

Main contributions:

  • Implemented a new cryptographic primitive: BLS12-381 leveraging Cloudflare and Kilic implementations.
  • Created a benchmarking platform to compare the performance of the cryptographic primitives.
  • Enhanced the testing suite with fuzzers.
  • Extended the library support for 32-bit architectures.
Personal Finance Manager UI

Personal Finance Manager

    Made with:

Project to manage personal finances.


It can support multiple accounts, it tracks the total net worth, expenses and income, it supports multiple currencies and it creates interactive dashboards. It also tracks assets, both liquid and illiquid, and it can be used to track the performance of a portfolio.

Popstellar architecture

POPstellar

    Made with:

Software Engineering project developed by the DEDIS lab.


It prototypes a multi-platform (Android and Web) proof-of-personhood group communication application which exploits real-world interactions to avoid Sybil attacks.

The app enables to create LAOs (Local Autonomous Organizations) and organize in-person events. By taking a secure “Roll-call” at those events, attendees are give each a one-per-person digital membership token. Leveraging these tokens, attendees can message each other, participate in an election or exchange digital currency without needing any strong identities (phone numbers, email, ...), but with the ability to hold all participants accountable.


I've been part of the Android development team and of the Decentralized Communication subproject.


-> What did I work on specifically?


  • A witnessing protocol to detect censorship
  • A client-side multi-server connection to make the system fault-tolerant and resilient and circumvent censorship
  • New features for the application, such as reactions to chirps in social media and meetings
  • Improving debugging tools, such as a remote-logging option

Render of a specular scene

Ray Tracer

    Made with:

Advanced Ray Tracing software based on Nori.


On top of it, I implemented an Octree as acceleration data structure, Monte Carlo sampling and Ambient Occlusion, Distribution & Whited-style Ray Tracing, Path Tracing, Microfacet models and Multiple Importance Sampling.

Data Processing

Recommendation System

    Made with:

The project creates a movie-ratings pipeline out of the MovieLens dataset by using Apache Spark.


It aims to create a recommendation system using Locality-Sensitive Hashing & Collaborative Filtering.

Lights placement

Sustainable placements of city lamps

    Made with:

Interactive tool for Analysis II students aiming to implement concepts of sustainability.


The objective is to find the optimal placement of city lamps across the EPFL campus in order to minimize the energy consumption and the quantity of CO2 emitted.

Lattice Consensus

Lattice Consensus

    Made with:

Implementation of a fully asynchronous weak version of consensus, named Lattice Consensus, on top of some distributed system abstractions, such as Fair-Loss Links, Stubborn Links, Perfect Links and Best-Effort Broadcast.

Poverty prediction

Predicting poverty in Africa through time using publicly available data

    Made with:

Machine Learning project developed by the iGH lab to understand with greater accuracy the distribution of poverty in Africa, in order to aid the planning of humanitarian interventions and managing the allocation of limited resources.


Worked in a team of 3 people to optimize and extend the geographic scope of a previous work to 3 new African countries, predicting poverty through time from multimodal, remotely sensed data such as satellite images. Thereafter, we optimized the previous CNN architecture, by adopting a ResNet152, which resulted in significant performance gains.

TL2

Software Transactional Memory

    Made with:

Implementation of a STM by adapting a custom version of Transactional Locking II, achieving a speedup of 3x with respect to the coarse lock-based reference implementation.

Higgs Boson Classification

Higgs Boson Classification

    Made with:

Machine Learning project to estimate the likelihood that a given decay signature was the result of a Higgs Boson (signal) or some other process or particle (background).

Telegram Bot

Amazon Telegram Bot

    Made with:

Telegram bot to help tracking and monitoring prices of products on Amazon across some european countries.

GLAD

GLAD: Gossip Learning Averaging Distance

    Made with:

This paper analyzes Federated Learning and Decentralized Learning approaches by presenting use cases, applications, metrics involved, and the variety of architectures and topologies. Finally, it proposes a novel system called GLAD, comparing it with the state-of-the-art research.


GLAD (Gossip Learning Averaging Distance) is a decentralized system based on the gossip protocol that introduces some metrics, such as resource capability and data quality, in the aggregation of several models. By computing a score for each node based on such metrics, a weighted averaging process is effectively executed when the Euclidean distance among the weights of same neurons within a NN model between different nodes is under a specified threshold. This enables better performance in terms of global accuracy, especially for heterogeneous networks, compared to other traditional algorithms that take advantage of nodes with better resources and data quality over poorer nodes during the merging step.

Air quality management software

Software for management of the air quality

    Made with:

The goal of the software is to provide functionalties for AQI index evaluation and comparison between locations, basing on the provided dataset of registered data. The program works using the concentration of pollutants associated to bad air quality: SO2, O3, PM10 and NO2 and compares them with the European Enviroment Agency standards.

Technical Skills

Contact Me

Send Email