Projects Distributed Bitcoin Miner Implemented a reliable, in-order messaging protocol over UDP using sliding windows, acknowledgments, checksums, and exponential backoff to tolerate packet loss and reordering Built a distributed Bitcoin mining system on top of the protocol, coordinating parallel workers and detecting node failures via heartbeats and epoch-based timeouts Raft Consensus Algorithm Implemented the Raft consensus protocol in Go, including leader election, heartbeats, log replication, and commit indexing for a replicated state machine Designed concurrency-safe RPC handlers and background goroutines to ensure correctness under message loss, reordering, and node failures Mixnet (Privacy-Preserving Overlay Network) Built a privacy-preserving overlay network combining encryption, randomized routing, and batching-based mixing to resist traffic analysis Evaluated system behavior across multiple network topologies using STP convergence time, routing message volume, and end-to-end RTTs on distributed testbeds Garbage Collector Developed a mark-and-sweep garbage collector assignment for C0, a memory-safe subset of C, supporting reliable memory management for student-written programs Deployed and maintained Autolab autograding infrastructure for CMU's Principles of Imperative Computation course, automating testing and feedback for over 500 students per semester