Chat and Video Call Application
Table of Contents
Project Overview
This project aims to create a communication application with features like WhatsApp in terms of chat and video call functionality on the Android platform. As an Android Developer, the main challenges centered on three technical aspects: Socket Connection, WebRTC Integration, and Incoming Calls & Consistent Notifications.
Project Duration: December 2019 - July 2020
Role : Android Developer
User Interface Applicaiton
Home Page,Chat Interface Screenshot,Video Call Screenshot
View Screenshots
| 1 | 2 | 3 | 4 |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Disclaimer
All product names, logos, and brands are anonymized. Screenshots are used solely to demonstrate technical experience.Client-Side Challenge
This project aims to create a communication application, features like WhatsApp, on the Android platform. As an Android Developer, the main challenges center on three technical aspects:
-
Socket Connection
-
Implement a stable Socket.IO client on Android, capable of handling automatic reconnections and maintaining persistent connections without excessive battery drain.
-
Ensure real-time UI updates (typing indicators, read/delivered status) with safe and efficient threading management.
-
-
WebRTC Integration
-
Integrate the WebRTC SDK into an Android application, which is a low-level process sensitive to the application’s lifecycle.
-
Handle NAT Traversal and signaling (exchanging SDP and ICE candidates) with the Socket backend for successful call initiation.
-
handle services android to ensure the app can receive calls even when the app is closed.
-
-
Incoming Calls & Consistent Notifications
- Created a reliable notification mechanism for incoming calls and new messages using FCM High Priority, and managed it through a Foreground Service to guarantee call reception even when the app is closed.
My Contribution
I was fully responsible for the implementation of the real-time chat and video call features on the Android side, working closely with the backend team and android engineers.
-
Real-Time Chat Implementation (Socket Integration)
- Socket Abstraction Layer: Designed SocketManager as a Singleton Service/Repository to manage a single persistent Socket connection across the app, ensuring reusability and consistency.
-
Video/Voice Call Implementation (WebRTC SDK)
-
SDK Integration: Successfully integrating the Android WebRTC SDK, adapting the configuration for various Android device codecs and resolutions.
-
Signaling Protocol: Creating Android logic to send and receive SDP signals and ICE Candidates over the connected Socket. * Key Focus: Translates signals from the backend into WebRTC Peer Connection commands (createOffer, createAnswer, addIceCandidate) on the mobile side.
-



