Wednesday, March 8, 2023, 11am – 12pm

Making a webapp collaborative is hard: you either need a custom server and lots of ad-hoc sync protocols, or you need to fit your app’s shared state into the restrictive data model of an existing client-side sync library. What if instead, you could directly replace frontend data structures with “collaborative” versions, while preserving the structure and type safety of your app’s state?

In this talk, I describe Collabs, a comprehensive TypeScript library of collaborative data structures (specifically CRDTs). It supports a variety of data types and operations, plus composition techniques that make it easy to use and extend. I demonstrate how to use Collabs to make a webapp collaborative without changing its underlying data model or losing type safety, while also supporting offline work, server-free collaboration, and end-to-end encryption. I also discuss some of the distributed systems theory underlying Collabs.

Expansion of talk given at Strange Loop 2021.

Presented in Partial Fulfillment of the CSD Speaking Skills Requirement.


Event Type: Speaking Skills
Room Number: In Person
Building: Traffic21 Classroom, Gates Hillman 6501
Speaker's Name: MATTHEW WEIDNER
Speaker Websitemattweidner.com
Speaker's Professional Title: Ph.D. Student, Computer Science Department, Carnegie Mellon Univeresity
Talk Title: Making Webapps Collaborative with Composable CRDTs
Event Poster Title: Poster
Event Poster URLwww.cs.cmu.edu…
For More Informationjennsbl@cs.cmu.edu | deb@cs.cmu.edu
Affiliations: Computer Science Department (CSD)