TL;DR
I built a P2P file sharing tool where files transfer directly between browsers. The server only handles WebRTC signaling — actual files never touch it. Transfer a 10GB file? Still zero egress costs. The stack: Hono + Cloudflare Workers + Durable Objects + STUN.
Demo: https://share-files.karakuri-maker.com/
Repo: https://github.com/kiyo-e/p2p-share-files
The Problem: Egress Costs Add Up Fast
Every file sharing service charges you for bandwidth. S3, R2, whatever — you pay for every byte that leaves the server.
I ran the numbers for a simple use case: sharing large video files with a few friends. Even with Cloudflare R2's "generous" free tier, a few 4GB files per month and I'm paying. Scale that to actual users? The bill gets ugly.
I wanted something different: zero transfer costs, regardless of file size.
The answer was obvious in hindsight — don't let files touch the server at all.
The Solution: WebRTC + Cloudflare
WebRTC lets browsers
Discussion
Say something first
It all starts with you—share your thoughts now.