EuroSciPy 2025

Jakob Zahn

I studied Physics at Technische Universität Dresden and Freie Universität Berlin.
After achieving my master's degree in 2021, I started working at Technische Universität Berlin in the ELVA project as technical lead and software developer.


Your pronouns

he/his

Affiliation

innoCampus, Technische Universität Berlin

Position / Job

Head of Software Development

Homepage

https://tu.berlin

GitHub/GitLab profile URL

https://github.com/jbdyn/


Session

08-21
15:30
20min
ELVA - Local-First Real-Time Collaboration Apps in Your Terminal
Jakob Zahn, Tiziano Zito

Science evolves and flourishes through close team work and smooth information exchange.
Despite the plethora of digital collaboration platforms a tool that allows for seamless collaboration does not exist, yet.

We present ELVA, a command-line tool and suite of terminal applications which are able to synchronize arbitrary data structures in real-time without conflicts in a peer-to-peer setup.
From a simple text file to an IDE session, a chat, a directory's content ... All of this can be modeled with a combination of conflict-free replicating data types (CRDTs) provided by the Yrs library and its Python bindings in pycrdt.
Thereby, merge conflicts as a main pain point of version control systems and file based synchronization services are mitigated or even completely avoided.
In addition, ELVA apps are written to be local-first: they run locally on your machine, also when you are offline, and store your data on your disk.
The local state is synchronized with remote-peers automatically when you are back online.
A central server is not needed, but it can work as a relay or broker between peers to overcome restrictive firewalls.

Interdisciplinary Frontiers and other Scientific Python Applications
Small room