WebRTC video, pub/sub messaging, media transcoding, broadcast streaming, and in-process AI — deployed as a single Rust binary with zero external dependencies.
Workshop, Academy, or Venue connects to /ws/product with a shared secret.
Hall authenticates and holds the connection for the product's lifetime.
Products issue commands over the WebSocket: create a video room, publish to a topic, upload media for transcoding. Hall manages all state in-process.
The @soulcraft/hall SDK handles WebRTC negotiation, pub/sub subscriptions,
and media playback. Products never touch low-level protocols.
| Twilio / Agora | LiveKit | Soulcraft Hall | |
|---|---|---|---|
| Deployment | Their cloud | Self-host cluster | Single binary |
| Per-minute cost | $0.004-0.01/min | Free (infra cost) | $0 (one VM) |
| Pub/Sub | Separate service | Data channels only | Built in (topics, presence, replay) |
| Media processing | Separate API | Egress pipeline | Built in (ffmpeg transcode) |
| Recording | Add-on | Egress pipeline | Per-track MKV + composite |
| Broadcast | HLS only | WHIP/WHEP | SFU + WHEP + LL-HLS |
| AI (ASR/NLU) | Separate API | Plugin system | In-process (Whisper + BERT) |
| TURN relay | Their servers | Separate deploy | In-process (same binary) |
| Language | Proprietary | Go | Rust (memory-safe, zero GC) |
Multi-party video/audio. Simulcast, active speaker, data channels, per-track recording.
Topic-based messaging, presence tracking, replay buffers, product isolation.
Upload, ffmpeg transcode, HTTP range streaming, auto-thumbnails.
Auto-scaling: SFU (30) to WHEP (1,000) to LL-HLS (unlimited).
In-process Whisper ASR + BERT concept matching. Zero external API calls.
In-process relay for symmetric NAT traversal. Single binary deployment.