Projects
A timeline of things I've worked on.
Squid
Squid grew out of my work on TheInterfold, where I spent a lot of time wrestling with fully homomorphic encryption and the rough edges of the tools available. It is an ergonomic Rust wrapper for Poulpy, a high-performance FHE library built on RLWE encryption over the Torus, adopting the bivariate polynomial representation proposed in Revisiting Key Decomposition Techniques for FHE and drawing on CHIMERA for unifying different schemes under a common plaintext space. Squid hides the complexity of scratch memory management and scheme lifecycle transitions, letting developers focus on writing FHE programs rather than managing low-level state. It also ships as squid-js, with WebAssembly and Node.js bindings, bringing fully homomorphic encryption within reach of the broader JavaScript ecosystem.
TheInterfold
After a roughly 5-month break last year, I resumed working on what is without a doubt the most complex project I've ever been part of, and the steepest learning curve I've experienced, alongside extremely talented cryptographers and engineers. TheInterfold is a distributed network for verifiable confidential computation where FHE, MPC, ZK, blockchain, and mechanism design all converge. The idea is to provide infrastructure that enables computation on encrypted data contributed by multiple users, a technology with the potential to fundamentally change how sensitive information is shared and used across organizations and industries.
MPC Framework
Although I only worked on it for a couple of months, this project gave me the chance to study MPC (Multi-Party Computation) and use Rust for the first time. MPC Framework makes building MPC circuits dramatically simpler, thanks to a DSL called Summon for boolean circuits and a plug-in architecture for different backends. In my opinion one of the most well-executed projects at PSE, largely thanks to Andrew Morris.
ZK-ID
ZK-ID is a team advancing the use of zero-knowledge proofs in digital identity systems which I contributed to from its inception, shortly before Devcon SEA. The goal was to coordinate efforts toward making ZK technologies interoperable and standardized. What struck me the most was realizing how many people, organizations, and institutions are already working to make the Internet a better place.
Zupass
Zupass, conceived before Devconnect IST and later used at that and many other events, is a platform built to store and manage PCDs, an abstraction similar to W3C's verifiable credentials that allows anyone to verify a claim through a proof (ZK or any other cryptography). The PCD used for authentication was based on Semaphore. It was a pleasure contributing to this project with the 0xPARC team, who have played a substantial role in promoting Programmable Cryptography, a second generation of cryptographic primitives that includes ZK, MPC, FHE, and iO.
ZK-Kit
ZK-Kit was a project I deeply invested myself in, born from the realization that while zero-knowledge technologies were maturing rapidly, there was still a lack of solid, secure, and well-documented development tools. The idea was to build a set of libraries that met high production standards, but also a digital meeting place for programmers interested in contributing. Implementations included various Merkle trees, Baby Jubjub, Poseidon, and utilities initially built in JavaScript, Solidity, and Circom, later extended to Noir and Rust.
Temporary Anonymous Zone
TAZ was an experiment, a booth at Devcon VI where attendees could learn about privacy, cryptography, and anonymity by actually using anonymous applications built on Semaphore: asking and answering questions, creating collaborative art, all without revealing their identity. The concept was inspired by T.A.Z.: The Temporary Autonomous Zone, an essay by the writer and anarchist Hakim Bey, adapted for the event by PSE's comms team. It was a powerful experience that left a deep mark on me. I also gave a talk at that Devcon that I had worked hard on, even though every cell in my body wished I wasn't on that stage at that moment.
Semaphore
Semaphore was one of the first general-purpose zero-knowledge protocols, allowing users to prove membership in a group, or anonymity set, without revealing their identity, with gatekeepers that could enforce any condition: token ownership, credentials, and more. It could power anything from anonymous voting apps to mixers like Tornado Cash. When I started working on it, only a proof of concept existed. My role was to re-engineer it from the ground up: simplifying the circuit and libraries, improving developer experience and documentation, building a community, and ultimately shipping it to production, with the goal of making it the simplest and most mature zero-knowledge protocol of its time. This is without a doubt the project that taught me the most and helped me grow on every front, both technically and personally.
Interep
After implementing Iden3's Sparse
Merkle Tree in TypeScript, I unexpectedly found myself working on a project with a
mysterious team then called AppliedZKP, which later became
PSE (Privacy and Scaling Explorations), a research and
development lab supported by the Ethereum Foundation. The idea behind Interep was to build a
bridge for transferring "reputation" from web2 to web3 using
zero-knowledge. This is where my professional journey began in a new world, that of the
Ethereum community and more broadly the cypherpunks, that has profoundly changed
me.
Fun fact: one of the first contributors to Interep was Jay Graber, now CEO
of Bluesky.
Elekton
Elekton was an anonymous voting application built with zero-knowledge proofs, which I worked on for my master's thesis. The ability to prove you possess information without revealing it felt like such a powerful concept that I couldn't pass up the opportunity to study the technology and its development tools. This project was also my first real step into cryptography and a more mature awareness of the importance of privacy in society.
CAFCHA
CAFCHA was a research project I had the pleasure of contributing to during my master's degree. It was an application for certifying every step of the agro-food supply chain on the Ethereum blockchain. At the time, "blockchain" was on the verge of becoming an overused buzzword, but its fascinating technology had deeply captivated me, especially the idea of decentralization as opposed to how the web was evolving (and unfortunately has kept evolving). It was a great experience to deepen my knowledge of Solidity and software engineering patterns for shipping a proof of concept to production.
Mindmapp
My first personal open-source project, inspired by Tony Buzan's mind maps. Building it was a journey that deepened my understanding of JavaScript and web technologies, and opened the door to the open-source world and its philosophy. Along the way, I connected with people from around the globe who shared the same passion for effective memorization tools. The project was later forked by B310 into TeamMapper, a collaborative mind mapping tool now used for free by public schools in Germany.