MSc student in Computer Engineering (Artificial Intelligence & Machine Learning) · University of Calabria
I'm completing my Master's degree at the University of Calabria. I like problems where a claim can be tested, and I care about testing it properly: a validation set that is really only used for tuning, a comparison that is fair to the baseline, a result that comes with its limits.
My projects range from data pipelines and NLP to reinforcement learning, LLM agents with symbolic planning, computer vision and quantum optimization. Most of the code and notebook text is in Italian; the READMEs are in English.
Built with Paolo Pangallo. An AI shopping assistant around eBay, combining an MCP tool layer, agentic workflows and retrieval, with a FastAPI backend and a React interface.
Stack: Python · FastAPI · MCP · RAG · Qdrant · PostgreSQL · React · TypeScript
Built with Paolo Pangallo and Constantin Adrian Antoci. An end-to-end pipeline on Mastodon: it collects posts, estimates which ones were written by an AI using four independent detectors, checks verifiable claims with an LLM that cites its sources, and studies how content spreads through the network.
Stack: Python · FastAPI · React · TypeScript · PostgreSQL / SQLite · Transformers
What it shows: a complete pipeline from data collection to a tested web interface, comparison of detectors that disagree, and graph analysis (community detection, influence maximization, Monte Carlo diffusion).
Built with Paolo Pangallo. A generate–validate–refine workflow: an LLM writes PDDL from a story, Fast Downward checks it, and a reflection step repairs the errors.
Stack: Python · LangGraph · Ollama · Fast Downward · Flask
- Leduc Poker RL: reinforcement-learning experiments on Leduc Poker with OpenSpiel, comparing NFSP with DQN, CFR and Deep CFR through exploitability, with network variants and an Alpha-Rank tournament. Python · OpenSpiel
- Telco churn prediction: churn prediction on 7,043 customers with a strict train / validation / test protocol, comparing XGBoost, AdaBoost, SVM, Random Forest and neural networks. Built with Vincenzo Napoli. Python · scikit-learn · XGBoost
- QAOA vs classical solvers: Minimum Vertex Cover solved with QAOA and compared with Branch & Bound, Greedy and Simulated Annealing, in ideal, noisy and real IBM hardware runs. Python · PennyLane · Qiskit
- Power-cable segmentation: instance segmentation of power cables with RF-DETR, evaluated with COCO metrics and an orientation-aware score. Python · PyTorch · RF-DETR
- Disaster Analytics: a Streamlit + PySpark app to explore large collections of disaster tweets, with a SQL editor, charts and distributed ML. Python · PySpark · Streamlit · Plotly
- Organigram manager: a company organigram editor. Java 17 · Spring Boot · Angular · PostgreSQL
- ESP32 Ambient Light: bias lighting for a PC monitor, with an ESP32 driving a WS2812B strip from screen colours captured in real time. Python · PyQt6 · ESP32 · Arduino
Machine learning and NLP scikit-learn · XGBoost · PyTorch · JAX · Hugging Face Transformers · reinforcement learning · AI-generated text detection
LLMs and agents LangGraph · Ollama · MCP · retrieval-augmented generation · symbolic planning (PDDL)
Data and backend Python · Java · SQL · PySpark · pandas · NetworkX · FastAPI · Spring Boot · PostgreSQL
Frontend and tools React · TypeScript · Angular · Streamlit · Git · Linux / WSL
Computer vision RF-DETR · instance segmentation · COCO evaluation
Quantum and embedded PennyLane · Qiskit · ESP32 · Arduino
Completing my Master's thesis. This is my first professional search, and I'm open to roles where I can keep learning across machine learning, data and software.
Based in Italy.