TechTalks@Foursquare
2024
Real-time Collaborative Map Drawing with deck.gl
Video:
I gave this talk at TechTalks@Foursquare on September 17, 2024.
Real-time collaborative apps like Google Docs, Notion, and Figma have set new expectations for seamless teamwork, particularly among distributed teams. These apps have made collaboration feel natural, but building such systems comes with significant technical challenges, particularly around data synchronisation and conflict resolution.
Fortunately, modern tools such as Liveblocks, Replicache and Zerosync, along with conflict-free data structure implementations like Automerge and Yjs, are making it easier to tackle these issues. The highly concurrent Phoenix framework, which powers platforms like Discord and Felt, also plays a crucial role by enabling real-time message exchange between users.
By leveraging some of these technologies, I developed a collaborative GeoJSON editor. In this talk, I share the implementation details using deck.gl, Phoenix, Elixir, and Yjs, delve into real-time messaging, conflict resolution with CRDTs, and scalability, and demonstrate how these modern tools are transforming the way we build real-time, multi-user geo-visualisation applications.
Slides: