I’m a software engineer building backend systems for a bank, with a focus on REST APIs, microservices and reliable data flows. I also work with graph data and LLM agents. I’m completing an MSc in Computer Science at Università degli Studi di Milano, where I’m building a natural-language interface for an EU-funded health research project.
Natural-language interface for cognitive-decline detection
MSc thesis · EveryWare Lab · in progress
A multi-agent orchestration layer in LangGraph that lets clinicians question smart-home sensor data in plain language, with state held across separate health domains.
LLM-generated analysis code runs inside a containerised sandbox — injection risk contained instead of trusted.
Explainable-AI layer so every answer carries the metric it came from. Non-negotiable when the output touches a diagnosis.
PythonLangGraphLangChainDocker
02
Credit-card fraud detection on a transaction graph
Neo4j · 4M transactions
Fraud as a graph problem: shared devices, shared merchants, rings of accounts that only look normal one row at a time.
Cypher tuned with APOC and batch processing until complex pattern matches answered in under two seconds across four million transactions.
Neo4jCypherPython
03
Distributed energy supply management
Java · Spring Boot · gRPC · MQTT
A simulated network of thermal plants electing a leader by Chang–Roberts, with locks and semaphores written from scratch rather than borrowed.
Multi-threaded by design: concurrent gRPC server threads, MQTT subscribers and sliding-window sensor processing sharing one consistent view.
JavaSpring BootgRPCMosquitto
04
Snap — short-link analytics for Shopify
Personal project · July 2025
Full-stack Remix and Prisma app tracking a customer from a trackable link through add-to-cart and checkout, with Shopify Web Pixels feeding real-time events.
Unique link generation and bot detection, so the revenue a merchant sees is revenue that happened.
RemixReactPrismaTypeScript
05
Process-mining clustering for large event logs
BSc thesis · Università di Camerino
N-gram trace representation plus K-Means over event logs, and a repetition-aware distance metric that reads loops correctly where Jaccard flattens them.
Owned the distance-matrix module inside a three-person framework; parameters validated against the Silhouette index.
Backend development with focus on RESTful architectures, microservices, and API design.
Spring BootREST APIOpenAPIMicroservicesJavaKafkaPostgreSQL
2025 —
EveryWare Lab, Milano
MSc thesis intern · CS research laboratory
Leading the natural-language interface for SERENADE, an EU-funded project on early detection of cognitive decline from smart-home sensors.
Architecting the multi-agent core in LangGraph, with state that survives moving between health domains and sensor streams.
Translating clinical requirements from researchers and clinicians into technical AI and XAI specifications.
2023
Università degli Studi di Camerino
BSc thesis research intern
Built a process-mining clustering methodology for large-scale event logs and owned the distance-matrix module inside a three-person framework.
Acted as the link between the algorithmic design and the team's integration work, keeping modules compatible and on schedule.
Education
Milano & Camerino
MSc in progress · BSc 103
MSc Computer Science (LM-18), Università degli Studi di Milano — distributed and pervasive systems, parallel and distributed algorithms, next-generation data models and DBMSs, artificial intelligence.
BSc Informatica (L-31), Università degli Studi di Camerino — algorithms and data structures, software engineering, database systems, operating systems, probability and statistics.
About
Always building something new
I like experimenting with new technologies, combining tools in unexpected ways and turning small ideas into working systems. Side projects are where I explore different architectures, test new frameworks and learn by building rather than collecting tutorials. There is usually another prototype — and another coffee — waiting in the next tab.