
Designed and was lead contributor on CAST, an on-chain governance tool for Flow, an all-Go backend with NFT-based voting contracts written in Cadence.
At Dapper Labs I designed and was the main contributor on CAST, an on-chain governance tool built for the Flow blockchain, the infrastructure communities use to propose changes and vote on them with an on-chain, auditable result rather than an off-chain poll someone could dispute.
The backend is entirely Go: high-speed microservices handling proposal lifecycle, vote ingestion, and result computation, built to stay responsive as a community's voting activity spikes around a contested proposal rather than trickling in evenly.
The voting logic itself is written in Cadence, Flow's resource-oriented smart contract language, chosen because Flow models ownership (a vote, an NFT, a token) as a resource that can only exist in one place at a time, which maps directly onto "this address has cast its vote and can't cast it twice" without extra bookkeeping.
Day to day that meant working closely with Product Managers and other technical teams to turn governance requirements (quorum rules, proposal thresholds, vote weighting) into contract logic that had to be right the first time, since governance contracts are exactly the kind of code you don't get to quietly patch after the fact.
A governance tool only matters commercially if the community actually trusts the result enough to act on it, and trust in a vote comes from it being unappealable, not from it being fast. Moving the result itself on-chain in Cadence removes the one failure mode that actually costs a project credibility: a contested outcome nobody can audit. The Go backend's job was making sure that guarantee didn't come at the cost of usability when voting activity spiked around a contested proposal, which is exactly when a governance tool is under the most scrutiny.