Orbit is a communication platform built on IRC: a polished client layer, a voice and video service, and a file storage gateway, orchestrated into one product over infrastructure communities have run for thirty years.
Everything your friend group needs from Discord, privately, on a $5 VPS. docker compose up.
This repository is the design specification, not the implementation.
Every Discord alternative that died tried to out-Discord Discord: custom protocol, custom server, years spent catching up to feature parity. They failed because they weren't decoupled, cost too much to scale, and were horrible to maintain.
Orbit owns as little as it can get away with. The IRC server is stock. The identity provider is stock. Orbit builds only the parts where product value lives: the clients, Satellite (voice and video), and Depot (file storage). Everything else is adopted, and its maintenance is someone else's.
- Uplink: any stock IRCv3 server (Ergo is the reference). Text, history, presence, signaling. No fork, no patches.
- Satellite: real-time voice, video, and screen sharing. Embeds LiveKit, owns the session model, and supports 1:1 P2P calls that need no server infrastructure.
- Depot: thin storage gateway over S3-compatible backends or local disk. Handles auth, quotas, and policy so a raw bucket doesn't have to.
- Transponder: any OIDC provider (Keycloak, Authentik, Supabase). One login, verified everywhere.
- Clients: desktop (Tauri), web app, embedded client. Where the UX lives.
Joining takes no account: anonymous guest access, no-account voice calls, and a browser-first client on any device. A friend clicks a link and lands in the call.
Orbit is not a Discord clone. Discord isolates communities into walled-off servers; Orbit keeps the IRC shape, where channels are lightweight and a user belongs to many communities at once. Permissions use IRC channel modes and the bot ecosystem that's existed for decades.
Orbit is not a product to sell. It's infrastructure and a cultural push: resistance to surveillance and platform lock-in. If Orbit ever provides hosted instances, that's a convenience service, not a SaaS play.
The rest of the exclusions, with the reasoning for each, are in Scope.
The spec/ directory contains the full design spec:
| Section | Contents |
|---|---|
| Product | Vision, per-surface experience, scope, platform comparison |
| Architecture | Components, boundaries, contracts, trust and failure models, ADRs |
| Implementation | Configs, payloads, endpoints, sequences, deployment |
| Research | MoQ/Iroh, Leptos/WASM, Linux overlay, Vulkan overlay, broadcast streaming |
| Glossary | Shared vocabulary for every named component and concept |
| Open Questions | Decisions still unresolved, and what each one is blocked on |
Start with the Platform Comparison if your first question is "how does this compare to Discord." Then read the Vision for the reasoning behind the major decisions.
Code, documentation, architecture, and project structure must be designed and created by humans.
Developers may consult an LLM or chat agent when researching a problem, but LLM output is guidance only. Developers are expected to understand, evaluate, and implement solutions themselves rather than letting the LLM drive.
This project should be built with intention and judgement. Human finesse is the key.