Final project for CS23301: Advanced Distributed Systems.