finds.dev← search

// the find

jeremyckahn/chitchatter

★ 2,285 · TypeScript · GPL-2.0 · updated Jun 2026

Secure peer-to-peer chat that is serverless, decentralized, and ephemeral

Chitchatter is a browser-based P2P chat app built on WebRTC and Trystero (WebTorrent for signaling), with no server storing messages. It supports text, video, audio, screen sharing, and file transfers — all ephemeral, all encrypted in transit. Aimed at people who want to communicate without trusting a third-party service to handle their data.

Trystero for signaling is a smart choice — WebTorrent trackers are widely available and require zero infrastructure to operate. The peer verification via client-side public-key cryptography is a real feature, not theater — you can actually confirm you're talking to who you think you are. Self-hosting story is clean: fork, set a homepage URL, deploy to GitHub Pages, done. The SDK Web Component wrapper for iframe embedding is genuinely useful for apps that want drop-in private chat.

The ephemeral-by-design model is also a real constraint: no message history, no async delivery, both parties must be online simultaneously — this rules out a large class of use cases where 'private' and 'asynchronous' both matter. TURN relay dependency is hand-wavy; the default free TURN server has no SLA and the README effectively says 'it might just not work sometimes,' which is a bad failure mode for a tool people would use for sensitive communications. The iOS Safari reconnection bug (room drops when you switch apps) is a known unfixed issue that makes mobile use unreliable. Project is explicitly in maintenance mode — no new features planned, so any gap you find today stays a gap.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →