Sample Applications

EnableX provides a library of open-source sample applications on GitHub covering 1-to-1 video calls, group video conferencing, in-session chat, and CallKit-based native calling. Every sample app is designed to be runnable as-is, so you can explore the code and adapt it for your own product.

How a Video Application Is Structured

Before diving into the sample list, it helps to understand that every EnableX video application consists of two separate components. Both must be running for a video call to work end-to-end.

Component 1 — App Server

The App Server is a backend service you build and host. It holds your App ID and App Key (your EnableX project credentials) and is responsible for two things:

Your credentials never leave your server. The client app calls your App Server's API — never the EnableX API directly — to get a token, then uses that token to join the room.

Component 2 — Client Video App

The Client App is the video meeting interface your users interact with. It is built with one of the EnableX Video SDKs (Web, Android, iOS, Flutter, React Native, or Cordova). At startup it contacts your App Server to receive a token, then uses that token to connect to the EnableX media infrastructure and join the room.

The client app handles everything a user sees and does in a session — connecting, publishing audio/video, subscribing to remote streams, muting, screen sharing, chat, and so on.

You Need Both

A client app alone cannot create a room or generate a token — those require your App Server. Sample repositories that contain only a client app need to be paired with a running App Server. See the Demo App Server section below if you want to skip setting up your own server for now.

Try It Now — No Setup Required

The fastest way to experience the EnableX platform is through the hosted demo application at try.enablex.io. No account, no server, no code — open the link and start a video call instantly with up to 4 participants. Use it to verify audio/video quality, test your network, or show a quick demo.

Try a Video Call →

Demo App Server — For UI Developers

If you are a mobile or front-end developer who wants to test a client app without running your own backend, EnableX provides a hosted Demo App Server. It creates rooms and issues tokens on your behalf, using your own App ID and App Key passed as request headers.

Demo Server Endpoint

https://demo.enablex.io

Passing Your Credentials

Send your project credentials as custom HTTP headers on every request to the demo server:

x-app-id: YOUR_APP_ID
x-app-key: YOUR_APP_KEY

The demo server uses these credentials to call the EnableX API on your behalf. Sessions are billed to your account just like any other API call — the demo server simply removes the need for you to run a backend while you are developing or testing the client app.

How to Configure a Client-Only Sample App

Most client-only sample apps in the sections below have a configuration file (or a constants file) where you set the server URL. Point it to https://demo.enablex.io and add your x-app-id and x-app-key as request headers. The app will then be fully functional without any server setup.

Standalone App Server Repositories

These repositories contain App Server code only — no client UI. They expose REST endpoints that a client app calls to create rooms and get tokens. Use them as a starting point for your own backend, or pair them with any client-only sample app listed further below.

Language / FrameworkGitHub Repository
Node.js EnableX/One-to-One-Video-Chat-Sample-Web-Application
PHP EnableX/One-to-One-Video-Calling-Open-Source-PHP-Application
Python EnableX/WebRTC-Python-Open-Source-Application-for-1-to-1-video-chat
Laravel (PHP) EnableX/WebRTC-Open-Source-One-To-One-Video-Chat-Application-in-Laravel
C# (.NET) EnableX/One-to-One-Video-Calling-C-Sharp-Application
1-to-1 Video Call Sample Apps

These sample applications demonstrate a basic two-party video call — one moderator and one participant connecting over a private EnableX video session. They cover the core flow: obtaining a token, joining a room, publishing audio/video, subscribing to the remote stream, and disconnecting cleanly.

Full Stack — App Server + Web Client

These repositories bundle both the App Server backend and a web-based client UI in a single codebase. Clone, configure your credentials, run — and you have a working 1-to-1 video call application immediately.

StackGitHub Repository
Node.js + Web SDK EnableX/One-to-One-Video-Chat-Sample-Web-Application
PHP + Web SDK EnableX/One-to-One-Video-Calling-Open-Source-PHP-Application
Python + Web SDK EnableX/WebRTC-Python-Open-Source-Application-for-1-to-1-video-chat
Laravel + Web SDK EnableX/WebRTC-Open-Source-One-To-One-Video-Chat-Application-in-Laravel
C# + Web SDK EnableX/One-to-One-Video-Calling-C-Sharp-Application

Web Client Only — Browser Apps (Web SDK)

These repositories contain the client UI only, built with popular web frameworks using the EnableX Web SDK. Pair them with any App Server above, or point them to the Demo App Server.

FrameworkGitHub Repository
VueJS EnableX/One-to-One-Video-Calling-VueJS-Open-Source-Application
ReactJS EnableX/One-to-One-Video-Calling-Open-Source-ReactJS-Application
Angular 8 EnableX/One-to-One-Video-Calling-Open-Source-Angular8-Application

Native Mobile Client Only (Android SDK / iOS SDK)

These repositories are native mobile apps for Android and iOS. Pair them with any running App Server or the Demo App Server.

Platform / LanguageGitHub Repository
Android — Java EnableX/One-to-One-Video-Call-Webrtc-Application-Sample-for-Android
Android — Kotlin EnableX/One-to-One-Video-Call-Webrtc-Application-Sample-for-kotlin
iOS — Swift EnableX/One-to-One-Video-Chat-Webrtc-Application-Sample-for-IOS

Hybrid / Cross-Platform Client Only

These apps use EnableX's cross-platform SDKs. They target both Android and iOS from a single codebase. Pair with any App Server or the Demo App Server.

FrameworkGitHub Repository
Flutter EnableX/One-to-One-Video-Calling-Open-Source-flutter-Application
React Native EnableX/One-to-One-Video-Calling-Open-Source-React-Native-Application
Ionic EnableX/One-to-One-Video-Chat-Sample-Application-in-IONIC-Framework
Cordova EnableX/One-to-One-Video-Chat-Sample-Cordova-Application
Group Video Call Sample Apps

These sample applications demonstrate a multi-party group video conference — one or more moderators and multiple participants all connected in the same session simultaneously. They show how to handle multiple remote streams, manage the participant list, and apply moderator controls.

Full Stack — App Server + Web Client

StackGitHub Repository
Node.js + Web SDK EnableX/Video-Conferencing-Open-Source-Web-Application-Sample
PHP + Web SDK EnableX/Group-Video-Call-Conferencing-Sample-Application-in-PHP
Python + Web SDK EnableX/Group-Video-Chat-Opensource-Application-in-Python
Laravel + Web SDK EnableX/Multiparty-Video-Calling-Laravel-Open-Source-Application
C# + Web SDK EnableX/Multiparty-Video-Calling-C-Sharp-Application

Web Client Only (Web SDK)

FrameworkGitHub Repository
VueJS EnableX/Multiparty-Video-Chat-Open-Source-VueJS-Application

Native Mobile Client Only (Android SDK / iOS SDK)

Platform / LanguageGitHub Repository
Android — Java EnableX/Multiparty-Video-Chat-Application-Sample-for-Android
iOS — Swift EnableX/Multiparty-Video-Chat-Application-Sample-for-IOS
Other Sample Applications

Text Chat / In-Session Messaging

This sample demonstrates EnableX's in-session chat feature — participants sign into a video session and exchange text messages in real time. It is built with the iOS SDK and shows how to integrate the chat API alongside the video session lifecycle.

TypePlatformGitHub Repository
Client App iOS — Swift EnableX/Sample-iOS-Chat
App Server Node.js EnableX/One-to-One-Video-Chat-Sample-Web-Application
App Server PHP EnableX/One-to-One-Video-Calling-Open-Source-PHP-Application

CallKit — Native iOS Calling UI

This sample demonstrates integrating Apple's CallKit framework with an EnableX audio/video session. CallKit provides the native iOS incoming call screen (the lock-screen call UI), making your app behave like the built-in Phone app when receiving calls. Pair the Swift client with one of the App Server repos below.

TypePlatformGitHub Repository
Client App iOS — Swift EnableX/Video-Audio-Calling-Using-CallKit
App Server Node.js EnableX/One-to-One-Video-Chat-Sample-Web-Application
App Server PHP EnableX/One-to-One-Video-Calling-Open-Source-PHP-Application
More on GitHub

The full collection of EnableX sample applications — including additional platforms and specialised use cases — is available on the EnableX GitHub organisation.