P2P · End-to-End Encrypted · No Servers

HQ World

Decentralized virtual office built on libp2p. Create rooms, video call, share files — all peer-to-peer. No accounts, no cloud, no tracking.

Get Started Architecture

Features

📷

Video & Audio Rooms

WebRTC mesh with adaptive quality. Join with video or audio-only. Mute, toggle camera, leave — standard controls.

📂

P2P File Transfer

Drag-and-drop files up to 100 MB. Chunked transfer over GossipSub with progress tracking, accept/decline, and cancel.

🔔

Knock to Join

Closed rooms require a knock. Host gets a native macOS notification and can accept or decline from inside the room.

👥

Room Directory

Browse active rooms on the network. See host name, participant count, open/closed status. Join or knock with one click.

🛡️

Host Moderation

Hosts and co-hosts can force-mute, boot participants, and promote/demote co-hosts. Role hierarchy enforced.

📈

Adaptive Quality

Host-side SFU monitors bandwidth every 5s. Auto-downgrades video resolution or switches peers to audio-only when constrained.

👤

Local Profiles

Display name, status message, avatar color. Stored in IndexedDB — no server, no account. Export/import as JSON.

🔒

Zero Trust

No central server. Noise protocol encryption on all libp2p streams. WebRTC DTLS for media. Your data never touches a cloud.

How It Works

1

Start the relay

A lightweight Node.js circuit relay runs locally. Peers connect via WebSocket to discover each other.

2

Launch the app

Tauri v2 desktop app opens. libp2p node starts, connects to relay, subscribes to the discovery topic.

3

Create or join a room

Rooms are GossipSub topics. Creating a room publishes an announcement; joining subscribes to the topic.

4

Direct connection

Peers exchange WebRTC signaling via the relay, then establish a direct connection for audio/video/files.

Stack

LayerTechnology
DesktopTauri v2 (Rust + WebView)
FrontendReact 19 + TypeScript + Tailwind v4
P2P Networkinglibp2p (WebRTC + WebSocket + Circuit Relay v2)
Pub/SubGossipSub
EncryptionNoise protocol + WebRTC DTLS
Peer RoutingKademlia DHT (client mode)
DiscoveryPubSub Peer Discovery
StorageIndexedDB (profiles, local-only)

Quick Start

# Download the latest release
# macOS: HQ-World-v0.1.0-macos-arm64.zip
# Windows: HQ.World_0.1.0_x64-setup.exe

# Or build from source (requires repo access)
git clone git@github.com:indigoai-us/hq-world.git
cd hq-world && npm install
npm run tauri dev

Download from GitHub Releases or see the full getting started guide →