Table of Contents
Microsoft Engage 2021 is a program created by Microsoft engineers, in association with Ace Hacker, for students to work on projects with live interaction and help from engineers and mentors at Microsoft. The challenge was to build a teams clone with the mandatory functionality - a minimum of two participants should be able connect with each other to have a video conversation. Microsoft Engage 2021
Scrum is an agile development methodology used in the development of software based on an iterative and incremental processes. Each iteration consists of two- to four-week sprints, where each sprint’s goal is to build the most important features first and come out with a potentially deliverable product.
Below image provides insight to sprint wise deliverables and bugs
Additional packages used
Kall uses a Peer-to-Peer Mesh architecture to provide group video chat functionality. It uses WebRTC which allows real time media communications directly between browser and devices. Since WebRTC inherently does not provide signaling which is essential for establishing connection, Peerjs wrapper is used which provides signaling and eases establishing connection. Socket.io enables bidirectional, real-time and event based browser server communication and is required for communication of each peer with the node server. Additionally nodemailer is used for email invite functionality.
![]() |
|---|
| WebRTC conference with Mesh Architecture |
Articles to know more -
Kall uses npm as package manager and is required to install necessary libraries and packages. Node is used for backend development. Therefore node and npm are required which can be downloaded from here
- Clone the repo
git clone https://github.com/ApEdu/Video-Call-App.git
- Install NPM packages
npm install
- All necessary files and modules are setup now !
- You need to run a peerserver to connect peers in terminal
peer --port 443 --path /peerjs
- In separate terminal run the node server
npm run start
- Go to your localhost:3030
![]() |
|---|
| Home Screen |
![]() |
|---|
| Video Chat room |
- Connectivity for 4-5 participants ( network dependent )
- Email invite functionality to bypass url copy pasting practise
- In-call text chat to allow textual interchange
- Kall uses P2P mesh architecture for video calling, an SFU/MCU implementation can be worked upon which will reduce connection load
- Kall uses public cloud PeerServer which does not provide very well cross network connectivity, deploying a custom turn server,stun server and peerserver can improve network connectivity issues
- Have tried other alternatives not much improvement
Gmail : gargapoorv12@gmail.com
LinkedIn : www.linkedin.com/in/apoorv-garg-24q34
Project Link : https://github.com/ApEdu/Video-Call-App
I would like to thank acehacker and microsoft team for conducting the Microsoft Engage 2021 Program. I would also like to thank my mentors , Mayank Rawat and Deepak Kumar for their constant guidance.
Videos by Traversy Media were a great source for learning web development.
Special thanks to Ritik Taneja and Varsha Jangir for their help in sticky situations.
Lastly, Thank you youtube and stackoverflow !!




