In this capstone project, we developed a video-on-demand (VoD) system that delivers video content in a highly robust and distributed way. Different from traditional VoD technologies that contain the simple server-user architecture, our project utilizes caches in edge devices in a P2P network. The caches will act as mini-servers that continuously download small chunks of videos in the network, and upload them to other users, which effectively reduce the server load and increase the overall scalability. The theory and algorithms for video content distribution have previously been developed by our advising laboratory (Berkeley Audio-visual Signal processing and Communication Systems Group). These algorithms define and regulate the interactions between nodes in the system, in such a way that everyone's resources are maximally utilized. The capstone team was expected to deliver a fully-integrated application built on this theoretical framework.