About Me
End-to-end software engineer—bridging the gap between edge microcontrollers and cloud systems.
As a Ph.D. researcher at the University of Bologna, I work on deployment strategies for IoT devices in edge-cloud environments—basically figuring out how to make thousands of tiny computers work together reliably. I've published more than 10 papers on these topics and regularly speak at conferences about distributed systems and collective adaptive computing.
My day-to-day involves writing embedded firmware for ARM microcontrollers, and architecting functional cloud-native applications. I'm a strong believer in bringing modern software practices—memory safety, type systems, async runtimes—to the embedded world where they're often overlooked. I also work with functional languages like Scala, applying Domain Driven Design principles to build systems where the code structure mirrors the problem domain.
I maintain several open-source projects in swarm robotics and edge computing, teach university courses on programming and distributed systems, and occasionally consult on embedded Linux and IoT architecture. Outside of tech, I'm usually on a mountain bike trail or designing PCBs for my next robotics experiment.
Projects
- Project EmergeLow-cost, open-source swarm robotics platform with microservices architecture and MQTT middleware for experimenting with cooperative robots.
- Rover FirmwareBare-metal Embedded Rust firmware for ESP32 microcontroller with modular, event-driven architecture using embassy-rs async runtime.
- YaairA no_std-compatible Rust DSL optimized for resource-constrained embedded devices, enabling distributed computing on edge devices.
- ScaFi 3Scala 3 re-implementation of the ScaFi framework with an effect-based DSL for engineering distributed IoT systems with safety guarantees.