The document discusses stream-based data synchronization. It begins with an introduction to the topic of data synchronization and examples of use cases. It then describes how to encode changes as deltas rather than full data sets. The key aspects of stream-based synchronization are that clients receive a live stream of mutation events from the server, allowing for minimum data redundancy and bandwidth usage while enabling fast writes and distribution. An example todo list app is provided to illustrate how user actions could be translated to synchronization events that are streamed to clients.