r/WebRTC

Built Sendlyy: Instant browser-to-browser P2P file transfer using Node.js + WebRTC DataChannels
▲ 3 r/WebRTC+2 crossposts

Built Sendlyy: Instant browser-to-browser P2P file transfer using Node.js + WebRTC DataChannels

Hi devs!
I wanted a simple, zero-setup way to transfer media from phone to desktop without using cloud intermediaries. I built Sendlyy using WebRTC and native WebSockets for signaling.
**Technical Stack & Architecture:**
- **Signaling**: Lightweight Node.js/Express + WS signaling server (exchanges SDP offers/answers & ICE candidates).
- **Data Transfer**: Native `RTCDataChannel` directly between browser instances.
- **Privacy**: 0 bytes of file data stored on server, rooms automatically self-destroy after 15 minutes.
- **UX & i18n**: Responsive touch UI with drag/swipe mechanics and automatic GeoIP language detection across 9 languages.
Would love any feedback on the WebRTC reconnection handling or UX!
Website: https://sendlyy.net/

sendlyy.net
u/Lonely-Project9574 — 4 days ago
▲ 9 r/WebRTC+1 crossposts

I wrote a small WebRTC SFU in Go (Pion) because I couldn't read LiveKit

I have a small chat app with voice rooms. Started on LiveKit, but every time the audio broke I had no idea what was going on inside. Too much code for me to read. So I wrote my own SFU on top of Pion. It's been running my rooms since July, up to 25 people.

Just pulled it out into its own repo: https://github.com/Amesu-afk/tarnmedia

About 1800 lines with tests. No simulcast, no transcoding, no recording. It forwards audio and video, checks JWTs, and that's it. Every subscriber gets the publisher's single encoding, so one bad connection makes the room worse for everyone. I know. That's the next thing I want to fix.

That's also where I'm stuck. If you've added simulcast to something this small, how did you keep the packet path from turning into a mess? Right now the forwarding code is simple enough to read in one sitting and I'd like to keep it that way, but layer selection looks like it touches everything.

u/am3su — 7 days ago
▲ 11 r/WebRTC

For the millennials: built a dumb little P2P messenger with WebRTC

Been building this for fun - an old-school MSN-style messenger where chats happen directly P2P over WebRTC (best on desktop, but works on mobile too):

https://www.tunnelbuddy.chat

Firebase Anonymous Auth and Realtime Database act as a deliberately dumb server for presence, friends and signalling. SDP/ICE is encrypted before touching Firebase and removed after connection. No message server.

No email, phone number or other identifiable account info. Identities are browser/device-local, so if you clear your browser data, you lose access. Inactive accounts are also cleared after 30 days.

I’m using Firebase because it’s basically free at this scale and I’m too poor to run a DigitalOcean droplet… 😅 Though I might set up a “buy me a coffee” if it gains some traction!

I’ve also got an iOS beta built on the same principles (completely different UI). If anyone wants to try it on TestFlight, let me know in the comments.

u/baccus26 — 6 days ago
▲ 4 r/WebRTC

I used WebRTC mesh for game multiplayer instead of a relay server, curious how this sub would have approached host migration

Hi everyone,

Not trying to promote anything here, just want opinions from people who actually work with WebRTC regularly, since most of what I learned putting this together came from reading old threads in this sub.

I built a multiplayer package for a React game engine called CarverJS. It uses a peer to peer mesh over WebRTC instead of a relay or dedicated game server. One peer acts as host, the rest sync to them, and signaling is free by default through public MQTT brokers, or your own Firebase project if you want more control. Everything is open source and MIT licensed, completely free, no paid signaling tier or anything like that.

The part I am least confident about is host migration. Right now, if the host disconnects, a new host gets elected and the room reloads from a snapshot in under 2 seconds. I have only tested this on small local networks with friends. I have no real data on how this behaves with a mesh of more than four or five peers, or what happens to migration time once you are dealing with asymmetric connection quality across peers.

STUN alone has not been enough for every network I tested on, so I ended up needing a TURN server for anything outside a friendly NAT. If any of you have run mesh topologies at a larger peer count, I would like to know whether you would have gone with a different topology entirely, like a selective forwarding approach, once the peer count grows.

Genuinely looking for the parts I got wrong here, not compliments. If mesh topology is a bad choice past a certain peer count, I would rather hear that now.

reddit.com
u/Ok_Project_477 — 8 days ago
▲ 0 r/WebRTC

WebRTC vs Windows .exe for local file transfers?

I'm building a cross-platform file transfer service and I'm currently stuck on the local transfer part.

I want users to be able to transfer large files directly between their phone and Windows PC when they're on the same network.

I'm hesitating between two approaches:

WebRTC: no installation required, everything happens in the browser, which makes the UX much simpler. But I'm concerned about browser/device limitations and reliability with large files.

Windows companion app (.exe): it would give me much more control over local discovery and transfers, but requiring users to download an executable feels like a significant barrier for a consumer product.

I'm especially concerned about making the product feel trustworthy since users will be transferring personal files.

For those who have built something similar, which approach would you recommend and why?

reddit.com
u/Palunath — 11 days ago