đŸ’Ŧ Real-time Chat Demo

Two independent clients syncing through SwirlDB upstream server. Each client has its own IndexedDB storage.

Client 1 (Alice)

Client 2 (Bob)

📊 Status

🔧 Controls

â„šī¸ Architecture

  • Storage: IndexedDB (persistent, per-client)
  • Sync: WebSocket binary protocol
  • Server: Pure Rust (swirldb-server)
  • WebSocket: ws://demo.swirldb.org:3030/ws
  • HTTP Fallback: http://demo.swirldb.org:3030/sync/*
  • Room: general

đŸŽ¯ Storage Hints Demo

  • Messages: Synced to all clients
  • Settings: /user/{id}/prefs - upstream-only
  • Each client's preferences are private
  • Server backs up settings but doesn't broadcast

💡 Each client maintains its own local database in IndexedDB. Messages sync through the upstream server to other clients in real-time. User settings are stored in /user/alice/prefs and /user/bob/prefs namespaces and only sync upstream (not to other clients).