Portfolio

Self-Employed · Feb 2022 - Present

Software Engineer

Highlights

800+
hours taught

since 2022, plus thesis supervision

677,534
parcels screened

one province, cadastre to ranked shortlist

7
bidding zones forecast

rMAE 0.34 to 0.39 on real history

Write-up

Theses in four fields, at Sapienza and Politecnico di Milano

The theses I led were in machine learning, computer vision, distributed systems and GPU computing, at Sapienza, Politecnico di Milano and other Italian universities. Teaching starts by finding the missing prerequisite, which is rarely the gap the student reports: someone stuck on backpropagation usually needs the chain rule, someone stuck on concurrency usually has a wrong model of what threads share. From there I add one step of complexity per problem, starting just inside what the student can already solve alone.

Each run ships three files, one of them a lock file

Both systems run on the client's own machines. He is one independent renewable energy developer without a software team, so each pvsite run writes a CSV, a GeoPackage of the geometries, and a lock file recording the commit and the rule set behind them. The lock file lets a result be defended six months later against the version of the law in force when it was computed.

45,728 parcels come out ranked, and the unverifiable ones come out undetermined

One rule governs both systems: an input that could not be checked returns undetermined, and an undetermined parcel is never presented to the client as admissible. Each of those rows names the layer that never answered, so the next action is a call to the municipality.

One model per zone, fitted on ENTSO-E history from 2022 to April 2026

Energy Forecast IT fits a separate model to each Italian bidding zone and lands at a third of the weekly naive baseline's error. I calibrate both systems on parcels and prices the client already knows the answer to, so the test is agreement with someone who does this for a living.