Created: 18th January 2020

In third year at Imperial, there is a software engineering group project. My group’s project was to create a peer-to-peer collaborative whiteboarding app, that used CRDTs (conflict-free replicated data types) as the underlying data structure. The app we made was an iOS app written in Swift that could connect to other devices with Bluetooth using Apple’s MultipeerConnectivity framework and through the internet using the XMPP protocol. We worked with another group, that was making a similar web-based app, so that our application could interoperate with their application, thanks to a common protocol. Some cool features included curve smoothing using Bézier curves and shape recognition.