Video calls are a powerful tool for connecting people remotely.
During my time at the Centre for Collective Intelligence, I lead the development of Zeitgeist - a tool to run deliberative workshops, both remotely and in-person. We designed an interface that allowed participants to deliberate together and interact with workshop content.
In this topic, we’ll explore how small group video call experiences can offer a comfortable, natural, experience - and guide the development of an open source library that lowers the risk and effort to integrate video calls into applications.
Vendor lock-in
Building Zeitgeist, we faced a difficult architectural choice: Which video call provider to integrate? We did not have the resources to develop, host, or maintain our own.
There are plenty of video call service vendors to choose between. From those that offered the features we needed, we selected Amazon Chime SDK, primarily because it offered easy integration with our product. In Feburary 2026, Amazon sunset Chime. The SDK, whilst still available, is in maintenance mode: No new features or major changes are planned. Sooner or later, support will end, and Zeitgeist will need to migrate.
When you build an application that uses a video call service, you must use a video calling client library that can interact with the provider. These client libraries are created by the service providers, and they are not incentivised to support other providers. Most use their own terminology, and none have a common interface. This is vendor lock-in, and it represents a bit of risk for you:
-
What if they increase their prices?
-
What if they remove support for your region?
-
What if they adopt unethical practices?
-
What if another provider offers a feature you need?
It’s often a significant effort to replace a library like this, as you are likely to have heavily integrated it into your user interface.
An opportunity for OSS
At time of writing, there’s no open source, vendor neutral, video calling client library. (There are a few open source video calling services, but they require that you also host or work with a basic WebRTC provider.) There’s a niche for a library that can bridge the divide:
-
Unified terminology for common video calling concepts
-
Supports any number of vendors with a plugin architecture
-
Supports any number of application/UI frameworks by publishing multiple libraries
-
Provides an abstraction layer: import the library, build your UI, and connect to any vendor
-
Easily switch between vendors with small configuration changes
-
Easily extensible
I’ll be working on the beginnings of this, as an open source React library, over the coming year. Work we do on this topic will directly feed into the development of this library. Collaborators are welcome.