Distributed Systems · WIP
Byzantine Fault-Tolerant Sharded KV Store
PBFT (Castro & Liskov, OSDI '99) built from scratch in Go. Three-phase consensus with automatic view changes, primary-side batching (16× consensus compression), and crash recovery via signed state transfer. Speculative reads bypass consensus using Byzantine quorum intersection — 18× faster than writes. Shard transfers secured with 2f+1 threshold certificates, an extension beyond the original paper. Ships an interactive terminal dashboard and benchmark suite.
GoDistributed SystemsPBFTConsensus
Distributed Systems
Fault-Tolerant MapReduce Framework
Distributed MapReduce in Go with a worker–manager architecture. Multi-goroutine coordination over channels and wait groups drives parallel map/reduce distribution, automatic worker-failure detection with job reassignment, and RPC-based IPC. Idempotent operations keep results correct under network failures and crashes, with clean goroutine termination and no memory leaks.
GoConcurrencyRPCUMich
Distributed Systems
Paxos-Based Distributed KV Store
Fault-tolerant key-value service in Go backed by Paxos for replicated log management across server groups. Concurrent Paxos instances per log slot (prepare / accept / inform), automatic proposal-number generation with conflict resolution, garbage collection of forgotten entries, and linearizable consistency. Layered design separates consensus, the replicated state machine, and the KV application.
GoPaxosConsensusUMich
Distributed Systems
Primary–Backup Key-Value Store
Replicated key-value store in Go using primary–backup replication behind a centralized view service. At-most-once Put / Append / Get semantics, automatic primary promotion and backup initialization across failures, and state-transfer protocols that hold consistency through view changes. Concurrent request handling via lexical confinement and channel-based synchronization.
GoReplicationUMich
Operating Systems
Multi-Threaded Network File Server
Concurrent, crash-consistent network file server supporting multiple users with nested files and directories. Crash consistency via committing writes; concurrency tuned with Boost threads and reader–writer locks; client–server communication over POSIX sockets.
C++ConcurrencySocketsUMich
Operating Systems
Kernel-Level Thread Library
Kernel-level C++ threading library on Unix managing CPU bootup, thread lifecycle, and scheduling across multiple CPUs. Implements spin-locks, mutexes, and condition variables using non-trivial Unix context-management techniques.
C++ConcurrencyOSUMich
Operating Systems
Virtual Memory Pager
Virtual memory pager supporting multiple processes with swap-backed and file-backed pages. Handles process creation, page faults, MMU bits, fork, and destruction — with copy-on-write optimization.
C++OSMemoryUMich
Fun
Kirby Walking Extension
Kirby walks along your screen. Made this for fun and to learn more about sprite sheets.
JavascriptChrome Extension APISprites
Web
UMich Webring
Webring connecting UMich students' personal websites — collections of sites that link to each other, forming a connected community. Inspired by the UBC Webring and The Waterloo Ring.
htmlcsstypescript
Dev Tools
VSCode Heatmap Extension
A VS Code extension that shows a heatmap of terminal activity, inspired by the GitHub and LeetCode activity heatmaps. ~280 acquisitions, ~100 installs.
TypeScriptVS Code Api
Creative
Duck Particle Simulation & Synthesizer
An interactive particle simulation of ducks and a digital synth. Try it out.
htmlcssjavascriptTone.jsdom apiperformance api
Web
r/uofm Analyzer
Page that ranks users from the UMich subreddit by activity and displays a graph of monthly activity times in the subreddit.
htmlcsspythonflask
Creative
Valentine Roses
A website showcasing a 3D bouquet of roses (after being prompted to be my valentine) and the math behind the modeling.
htmlcssthree.js
Web
Old Personal Website
Past version of my personal website. Very cool design in my opinion, but got tacky for my taste.
htmlcssjavascript
Journalism
Unsheltered Resources Map
Map for an article published in the Michigan Daily. Shows resources for the Ann Arbor community.
htmlcsstypescriptmapbox api
Fun
Arnav Time Converter
My friend Arnav ALWAYS arrives later than he says he will. I made this so I know when he'll actually arrive. Made with love.
htmlcssjavascript
Journalism
Love Notes 2025
Love Notes for the Michigan Daily! I worked on scripts for the site that sent emails to people who got love notes.
htmlcsspythontypescriptjavascript
Automation
Daily NASA Pic Repo
Updates a repo with the daily NASA picture.
shellgithub-actionsnasa api
Hackathon
Glucose
Glucose tracks injured athletes' movements, providing therapy-like advice for safe, effective home recovery while AI monitors motion range and effort. PennApps 2024 Best Hardware Hack.
angular.jsarduinoesp32flex-sensorflasktuneAi
Hackathon
Recommendify
Chrome extension built at MHacks 2023 that analyzes website tone to recommend matching music via the Spotify API, using Python NLTK and beautifulsoup4. Created by Mason Miller and I.
htmlcsspythonspotify api
Hackathon
HarmonyAI.de
Built at HackMIT 2023. HarmonyAI.de takes in audio from the user and displays back a video of a loved one responding, using generative AI as a virtual palliative caretaker.
htmlcssflaskjavascriptgooeyaiibm-watsonnode.jsopenai api
Creative
Pathfinding Visualizer
Grid game that visualizes common search algorithms on a grid of squares.
htmlcssjavascript