Video Conferencing App For 100ms
Project Type
Development
Industry
Entertainment
Tech Stack


ABOUT THE CLIENT
The Problem
100ms team specialises in building video conferencing SDKs supported by powerful infrastructure to provide for flawless development and expedite the process. The partner’s requirements were simple; they required us to integrate SDKs for the mobile version of the application that were built on top of React Native and make other enhancements.
The 100ms team came across us through a recommendation, and they singled us out as the apt tech partners to take the project forward considering our expertise with the tech stacks.
TEAM ON CALL
The client required us to implement APIs for joining/leaving rooms, role changing, muting/unmuting and ending rooms.
We also integrated chat messaging to transmit messages to intended users.
The client also required an HMS logger which could automate the debugging process.
APIs which could communicate on the native side were also implemented through the provision of a React Native bridge.
Strategy
Analysis Planning
UI/UX
Development
Testing
Delivery
OVERCOMING CHALLENGES
DEVELOPMENT
After picking out the right group to take the project off the ground, the next step was to finalise on the technologies which would be used to enhance the application. As the major scope of the project would involve building a package for an existing application built on React Native, our team decided to align our choice of tech stack with the same.
Our team was also required to implement packages for Android which were handled using Kotlin, a programming language for high-quality android development. Simultaneously, we also implemented packages for the iOS version using Swift, a powerful and intuitive programming language for iOS that promotes interactive development. Redux was the library of choice for managing and centralising the state of the application as it provides for consistent coding.
The first phase of the project was dedicated to creating a React Native package which the team handled by creating APIs and a bridge on the native side and connecting it to a corresponding React bridge using methods like promises, callbacks and EventEmitters. Depending on the API that has been chosen, we proceeded to implement a one way connection if required which permitted us to encode and decode data for reconnecting the APIs and the React Native SDK for the end-user. We used an example application to demonstrate the workings to our partner and on receiving approval, we got down to implementing the features as follows:
- Join & Leave Room API’s: These are the most basic APIs to interact with the HMS SDK.
- Mute & Unmute API’s: This API requires a boolean to mute or unmute the current track state.
- HMS View: This is a type of view which we have exported from native sides and its architecture consists of a simple view providing swift and frame layout for the Android version.
- Chat Messaging API’s: This API takes a message string and sends it across to intended users.
- Event Listeners: We used NativeEventEmitter to emit the events that we capture on the native sides and pass them through the bridge to the React Native side so that event listeners do not miss out on updates
- Role change & Tracks change API’s: These APIs are used to change the current status of the room for local peers
- End Room API: This API is used to forcefully end the room for all the members in the meeting.
- Setting Audio Levels: This API sets the incoming audio for the local peer.
- HMS Logger: This helps to login all the events and updates to help with the debugging.
- Recording & Streaming API: This API is to start the recording/ streaming in a current room. It can stream the current room to the given link as well.
The team followed unit testing wherein they broke down the code and tested it in smaller bits to ensure that each segment was without drawbacks and functioning as intended. GitHub was the repository of choice and we handled it to interact with the client about updates as well as for code and task management.
FINAL IMPRESSION
Case Studies.
More from our engineering portfolio.

Upgrading User-experience and Website Performance Using Next.js for a Diagnostic Leader
How GeekyAnts helped a leading diagnostic company upgrade the user experience of its website by increasing its website performance.

Creating Hassle-free App Features for Medically Complex Children and Their Parents
Leading Healthcare Technologies and Services Company brings healthcare services at home for caretakers of medically complex children with an interactive application

This is how we built an AI bot and a fact-checking editorial platform for a leading benefit corporation.
Addressing misinformation crisis by creating technological tools to ensure timely, efficient, and credible fact checks

Web app for a Custiv
Improving the industrial sector by enhancing the supplier side of the app