I'm working on a secure chat app and would appreciate guidance on VOIP, encryption, and caching.
I'm working on a secure chat app and would appreciate guidance on VOIP, encryption, and caching.
Hello everyone, I'm uncertain if this forum is the best place for seeking advice, but lately I've been considering moving away from mainstream chatting platforms like Skype and Discord. Instead, I'm thinking about developing my own secure app for a small group of users.
To be honest, I've invested more time in planning than actually starting—mostly because I wanted to have a clear strategy before diving in. After three months of research, I still need some answers on certain points.
Here are the challenges I'm facing:
1. Once the basic chat setup is ready, how do I integrate VOIP? More importantly, how can I make it secure? Is it legal to run my own VOIP service? I’m pretty sure the answer is yes, but the details online aren’t very clear.
2. I’ve managed to verify that message encryption works fine—this part was the easiest.
3. I’ve observed a pattern: the more secure an app is, the less secure it tends to be. Smaller projects by other developers often lack strong front-end design but have solid back-end protection (at least from what I understand). On the other hand, services like Signal, Discord, and Skype frequently have security concerns—some more obvious than others.
4. I’m planning to add a self-clearing cache after reaching a certain data threshold, but I haven’t found much guidance on this. Maybe it’s just a matter of wording.
Thanks for taking the time to read this! I’m not looking for constant support—just some direction to help me move forward.
(And yes, I’ve seen Matrix, but I’d prefer to build something from scratch and get a deep understanding of how it works.)
(P.S. One last point: it’s been suggested I start with a smaller project or a different initiative, but let me hear your thoughts. This could break into multiple stages—front end first, then backend—and I really want to build this, even if the tutorials seem outdated or poorly documented.)
Well, if you're starting from the ground up to build an instant messaging app, I recommend either using existing open-source tools and tweaking them to fit your requirements, or studying how others have implemented similar solutions by examining their code. One solid option is Miranda NG (formerly known as Miranda IM). For more details, you can visit: https://en.wikipedia.org/wiki/Miranda_NG. I previously used Miranda IM during some less reputable periods. Of course, at that time, services like MSN Messenger were the main players, not modern platforms such as Skype or Discord. Miranda IM/NG has been available for a long time because it's open-source and supports multiple protocols. You can base your project on its kernel or study its implementation to gain ideas.
Don't know if you're interested in creating chat or VoIP applications. (I don't develop apps, by the way)
As suggested, begin with open source projects
Some information from the internet:
https://github.com/RocketChat
https://github.com/awesome-selfhosted/aw...tion---sip
https://www.reddit.com/r/selfhosted/comm..._for_home/
Yes! I also checked XMPP, thought about building my own websocket, and considered using webRTC for the VOIP part, then adding user authentication and moving forward 😀
It's both, it's a chatroom that can also make calls 😀 ty for the resources!