Individuals should be able to communicate with their loved ones freely and candidly without fear of being monitored, or sensitive info being used by others. It is a fundamental right that enables people to express their thoughts, ideas, and feelings without interference. However, with client-server architecture, privacy is often violated, and it can have serious consequences for both individuals and society.
Sampark's WEBRTC peer-to-peer communications architecture is specifically designed to protect the privacy of its users. By directly connecting users to each other, rather than routing their communications through centralized servers, Sampark is able to offer a more secure and private chat and call experience. Conversations are not being stored or monitored by a third party, and are instead kept strictly between the participants. Additionally, Sampark uses advanced encryption techniques to further secure your communications and protect them from unauthorized access. Whether you are chatting with friends, colleagues, or family, you can trust Sampark to keep your conversations private and secure.
Finding the most secure chatting protocol was the first challenge, as there are many different options to choose from and each has its own unique features and security measures. Exploring the options for building, I considered using a decentralized app (DApp) or a peer-to-peer (P2P) architecture, as both of these approaches offer a number of benefits over the traditional client-server model.
Building a prototype with WebRTC in just two days was challenging, as being a beginner in WebRTC required a deep understanding of real-time communication protocols and web development. Setting up and configuring the signalling server, incorporating real-time audio and video communication and using socket.io made it a big challenge.
I ran into an echo bug which I solved by muting, Further for some reason frontend stopped loading after somewhile which was eventually fixed after a system restart, Finally, I was able to build a working prototype. Now the further challenge lies in utilising decentralised architecture to make this application more robust and easy to use which I will be doing.
Discussion