During my sophomore year at UVA, I took one of the first university courses on cryptocurrency. We wrote our own software to generate keys and sign transactions and competed to mine blocks on our own fork of Bitcoin. For my capstone project, I explored how Bitcoin could be used for something beyond basic payments: managing a shared pool of resources.

CryptoKupa
I was inspired by the concept of Kupa, where members of a Kibbutz pool their money and share it according to collectively agreed rules. I built CryptoKupa as a digital version that could work without social proximity or a trusted treasurer.
CryptoKupa uses Bitcoin multisig transactions to distribute control of the fund across members of the community.
Contributions are divided into fixed-size chunks, with each chunk controlled by a rotating subset of members. When someone requests money, the members holding the relevant keys evaluate the request against the community's rules and decide whether to sign. Larger withdrawals cross more chunks and therefore require approval from more members. Meanwhile, every member's client monitors the blockchain, making contributions and withdrawals transparent to the group.
Each community can tune the parameters, such as the size of each chunk and how many signatures are required to spend. These choices traded off transaction costs, speed, and resistance to collusion. The result is a customizable protocol for any group of people to pool and jointly allocate money.
What came next
The following semester, I became a teaching assistant for the course's second iteration, helping teach Bitcoin and working with students on their own cryptocurrency projects.

