Lorenzo Marogna
Software engineer & researcherEPFL · Microsoft · Lausanne, Switzerland

I work across the stack and the research bench: shipping web products, and researching efficient ML, computer vision, and systems. I like problems that sit between the two — making models small enough to deploy, understanding systems from the language up.
What I cannot create, I do not understand.
Education
EPFL
Visiting researcher, MSc · Lausanne
3D reconstruction · computer vision · foundation models and generative AI · advanced computer graphics
KU Leuven
MSc Computer Science & Artificial Intelligence · Leuven
Distributed systems · design of software systems
University of Trento
BSc Computer Science — Full Scholarship, top 2% · Trento
Algorithms & data structures · C++ / Rust · exchange semester at Utrecht University (image processing, ML, RL)
Experience
Microsoft
Software Engineer — Distributed Query Processing · Barcelona
Automatic reconstruction and simulation of realistic production stress workloads for distributed query processing components
Panenco
Backend Software Engineer, intern · Leuven
End-to-end feature delivery in PHP / Laravel — feature design, API contracts, endpoints. Lifted automated test coverage 65% → 78%; profiled Eloquent ORM hydration and query paths.
DistriNet — KU Leuven
Research Developer, part-time
Integrated a centralized MLflow server into lab infrastructure; automated CAPEv2 malware-analysis provisioning on OpenStack.
Fondazione Bruno Kessler
Research Intern · Trento
Benchmarked neural networks for resource-constrained devices; built a deepfake-detection pipeline with supervised and self-supervised learning; leveraged Mixture-of-Experts for generalization.
Projects
A free-to-play online adaptation of Wolfgang Warsch’s co-op card game The Mind, where players clear ascending cards with no communication and only a shared sense of timing. Real-time matches run per-lobby on Cloudflare Durable Objects, with the client on Cloudflare Pages. Around 10k monthly users generate ~1 GB of game data over ~200k requests a month, and the site ranks #1 for relevant searches.
Semantic code search: a natural-language query returns the most relevant snippets. Built on all-MiniLM-L6-v2 sentence-transformer embeddings with a FAISS index, fine-tuned on the CoSQA dataset with Multiple Negatives Ranking Loss, and served through a FastAPI endpoint for querying and adding documents. Evaluated with Recall@10, MRR@10 and nDCG@10; experiments tracked in MLflow.
A 64-bit x86 kernel written in Rust with no standard library, following Philipp Oppermann’s Writing an OS in Rust. Implements VGA text-mode output, the full interrupt path — CPU exceptions, double-fault handling, hardware interrupts — plus paging and a kernel heap allocator. Boots in QEMU with a single cargo run. A deliberate exercise in the low-level machinery of the language and the machine.
A play-it-locally chess platform in Java: board representation, legal move generation, and check / checkmate detection written from scratch, wrapped in a JavaFX interface. Built to work through a rules engine end to end.
Achievements
- Huawei Prize, LauzHack — applications of GenAI
- Swiss{AI} Weeks Hackathon — solo, first of 16 teams
- Best Technical Solution, Data for Good Challenge
- InnovAId Hackathon — Health & AI
- National participant, Italian Informatics Olympiad
Reading
In a culture in which the marketing orientation prevails, and in which material success is the outstanding value, there is little reason to be surprised that human love relations follow the same pattern of exchange which governs the commodity and the labor market.
The Art of Loving
Poiché tale è la natura umana, che le pene e i dolori simultaneamente sofferti non si sommano per intero nella nostra sensibilità, ma si nascondono, i minori dietro i maggiori, secondo una legge prospettica definita
EN: Grief and pain — even simultaneously suffered — do not add up as a whole in our consciousness, but hide, the lesser behind the greater, according to a definite law of perspective. It is providential, and is our means of surviving in the camp.
If This Is a Man
Per noi che siamo fatti per vivere sotterra, pensava Malpelo, ci dovrebbe essere buio sempre e dappertutto.
EN: For us who are made to live underground, it should be dark always and everywhere.
Rosso Malpelo