I completed my PhD at the Software Institute at USI in Lugano, Switzerland, where I worked on large-scale empirical analysis of Web APIs. My research focused on understanding how APIs evolve over time, how they are versioned in practice, and how their structures and data models can be visualized and analyzed. I built tools and datasets to collect, parse, and measure over a million OpenAPI specifications, and developed interactive visualizations to help developers and researchers explore API change patterns. This work was conducted in the context of the API-ACE project.
My PhD was supervised by Prof. Dr. Cesare Pautasso, who was not only an excellent academic advisor but a true mentor. He taught me how to take an idea all the way from inception to completion, and his genuine dedication to his academic mission has been a constant source of inspiration.
After completing my PhD, I joined the ZEST Research Group at the University of Zurich as a senior researcher, where I got to learn another type of empirical studies: controlled experiments with human participants, interviews, and surveys. It was during this experience that I witnessed firsthand the hassle of preparing forms in tools where every modification is time-consuming and versioning is practically impossible. This also led me to build Markform, a tool that lets you create web forms in plain Markdown and share them in a feed where you can find respondents.
Having spent years studying how APIs connect distributed systems and how they evolve at scale, I became naturally drawn to the next frontier of distributed technologies. This is where I am at now, deeply fascinated by what blockchain and decentralized systems enable us to build. From DeFi protocols and smart contracts to cross-chain interoperability and decentralized infrastructure, the possibilities for building trustless, transparent, and permissionless applications are genuinely exciting to explore.
Day to day, I build backend services in Go, TypeScript, and Python, bridging on-chain and off-chain systems through RPC calls and event-driven architectures. My research background gave me a solid foundation in REST API design, which I now combine with Solidity and Web3.js when working with smart contracts on Ethereum. I also enjoy writing about the things I learn along the way. You can find my posts on topics like how Ethereum processes transactions, API rate limiting patterns, and more.