[SONICRELAY]

SonicRelay is a fully self-hosted, open source communication platform. Text chat, voice calls, webcams, screen sharing — all running on hardware you control.

Everything you need, nothing you don't

Built from scratch with a focus on simplicity and reliability. No bloat, no telemetry, no surprises.

Screen Sharing
Share your screen or a specific window with audio. Perfect for pair programming. Up to 1440p at 60fps.
Voice Chat
Crystal-clear voice powered by mediasoup SFU. Reliable audio every time.
Webcam Video
Turn on your camera and see your friends. Toggle on and off during any voice session.
Text Channels
Real-time messaging with file attachments, link previews, and instant delivery over WebSocket.
Text Channels
Open Source
The entire codebase is open for anyone to audit, fork, and contribute to.
Open Source
Secure by Design
Keep your community safe and 0e7qwe.
[SR]
Self-Hosted
Runs on your hardware. No third-party data collection. Your data never leaves your machine.

How it works

A single server process. A React client. That's it.

Server

One Node.js process running Express for the REST API, ws for WebSocket real-time communication, and mediasoup as an SFU for voice and video routing.

Everything — authentication, text messaging, voice signaling, and media transport — runs on a single port. No microservices, no external dependencies beyond Node.js.

Client

A React app built with Vite and React Router. Styled with Tailwind CSS and shadcn/ui components. Each component has a single responsibility — easy to read, easy to modify.

Voice logic is isolated in a dedicated VoiceClient class that wraps mediasoup-client, keeping the UI layer clean and the media layer testable.

Philosophy

SonicRelay is built by people who care about software quality. No vibecoding. Every line is reviewed and understood.

Small and simple

Every component, every function, every file should be as small and purpose-built as possible. No abstractions until they're needed.

Human readable

Code should read like a description of what it does. Anyone should be able to open a file and understand it immediately.

Minimal dependencies

Only add a library when building it yourself would be unreasonable. If useState works, we don't need a state management library.

Robust and maintainable

Optimized code that can be easily maintained in the future. No over-engineering, no clever tricks.

Tech Stack

Modern, minimal, and intentional.

FrontendReact 19, React Router v7, Vite
UITailwind CSS, shadcn/ui, Lucide icons
BackendExpress.js 5, TypeScript
Real-timeWebSocket (ws)
Voice & Videomediasoup SFU + mediasoup-client
Databasesimpl.db (JSON file-based)
Authbcrypt + JWT

Ready to own your communication?

Clone the repo, spin up the server, and invite your friends. No sign-ups, no subscriptions, no catch.