Soulcraft Platform

Real-time everything,
one binary.

WebRTC video, pub/sub messaging, media transcoding, broadcast streaming, and in-process AI — deployed as a single Rust binary with zero external dependencies.

How it works
Products connect. Hall handles the rest.
1

Product opens a WebSocket

Workshop, Academy, or Venue connects to /ws/product with a shared secret. Hall authenticates and holds the connection for the product's lifetime.

2

Create rooms, topics, or uploads

Products issue commands over the WebSocket: create a video room, publish to a topic, upload media for transcoding. Hall manages all state in-process.

3

Clients join via browser SDK

The @soulcraft/hall SDK handles WebRTC negotiation, pub/sub subscriptions, and media playback. Products never touch low-level protocols.

Why not Twilio or Agora?
An honest comparison.
Twilio / AgoraLiveKitSoulcraft Hall
DeploymentTheir cloudSelf-host clusterSingle binary
Per-minute cost$0.004-0.01/minFree (infra cost)$0 (one VM)
Pub/SubSeparate serviceData channels onlyBuilt in (topics, presence, replay)
Media processingSeparate APIEgress pipelineBuilt in (ffmpeg transcode)
RecordingAdd-onEgress pipelinePer-track MKV + composite
BroadcastHLS onlyWHIP/WHEPSFU + WHEP + LL-HLS
AI (ASR/NLU)Separate APIPlugin systemIn-process (Whisper + BERT)
TURN relayTheir serversSeparate deployIn-process (same binary)
LanguageProprietaryGoRust (memory-safe, zero GC)
Six systems, one process
Everything a real-time platform needs.
🎥

WebRTC SFU

Multi-party video/audio. Simulcast, active speaker, data channels, per-track recording.

💬

Pub/Sub

Topic-based messaging, presence tracking, replay buffers, product isolation.

🎬

Media Pipeline Enabled

Upload, ffmpeg transcode, HTTP range streaming, auto-thumbnails.

📡

Broadcast Enabled

Auto-scaling: SFU (30) to WHEP (1,000) to LL-HLS (unlimited).

🤖

AI Pipeline

In-process Whisper ASR + BERT concept matching. Zero external API calls.

🔒

TURN/STUN Enabled

In-process relay for symmetric NAT traversal. Single binary deployment.

Architecture principles

  • Single binary, zero dependencies — no Redis, no Kafka, no external TURN. One process handles everything.
  • Rust + Tokio — memory-safe, zero-GC async runtime. Predictable latency under load.
  • Sans-IO WebRTC (str0m) — no libwebrtc dependency. Pure Rust SFU state machine.
  • Product isolation — each product gets its own authenticated connection. Rooms and topics are scoped per-product.
  • In-process AI — Whisper and BERT run via Candle (Rust ML). No API keys, no network calls, no per-minute billing.
0 rooms
0 topics
0 subscribers
45d 13h uptime
v0.2.1