Please sign in to access this page

Free VoIP

Free VoIP

8 devlogs
35h 52m
Created by Rehatbir Singh

Privacy focused, peer-2-peer video/voice chat application. Made with Rust + React + Tauri.

Timeline

I've managed to recreate a media encoding pipeline with Web Workers, the WebCodecs API, and the WebAudio API. I was initially inclined to use WebRTC's media pipeline, but that would defeat the whole purpose of this project. The raw audio and video streams received on the frontend are being encoded and sent to the Rust backend, where they'll be transmitted to the peer, whose protocol I can begin working on now.

Ship 1

Rehatbir Singh

3 months ago

Rehatbir Singh Covers 7 devlogs and 27h 54m

Made some improvements to the call page's layout. The self-camera preview is now a floating window, and I've added some controls to the bottom of the screen too. Next, I'll create the backend protocol for calling, which may take quite some time.

Update attachment

Been a while since my last devlog! I took some time off this project to work on my startup. Anyway, I spent a couple of hours figuring out how to enable camera permissions on macOS. Turns out that I was simply editing the wrong configuration file, so everything worked after I figured that out. Now, we have a simple preview of our own camera when calling someone. More calling features coming soon...

Contact sharing is now fully implemented!

I've been working on the protocol to exchange contact details between users in a decentralized manner using the same P2P architecture. The backend for this protocol is implemented; all that is left now is the frontend.
The screenshot shows a QR code for a contact card of sorts. Other users can scan this to add this person to their contacts list.

Update attachment

The landing page now takes you to a form where you enter your name. Once the user hits submit, the backend will build an Iroh endpoint and store the corresponding secret key on-device. On subsequent app launches, this secret key is read, and the Iroh endpoint is restored.

Finally got React Router working with Data mode. I was previously trying to get it to work with Framework mode, but it was clashing with the way Tauri's Vite project is configured by default, and I am too new to the JS ecosystem to figure it out without wasting time. Anyway, a functional landing page is up and running.
Next steps are to figure out a network architecture. I'm thinking I'll use Iroh for P2P networking.

Update attachment

I've setup a Tauri project with Rust + React. I've also tried setting up React Router but running into a few issues. So far I have a blank white screen.

Update attachment