Distributed User Interfaces

Spread one interface across several devices.

Made for teams building multi-device experiences.

Discuss using itDelivered to clients

Overview

Run parts of one app on different devices, such as controls on a phone and shared content on a large display. The framework tracks which device holds which part and keeps their state in sync.

What it provides

Distribution core

Define what moves

Declare units with state, capabilities, and permissions, then migrate, clone, split, merge, or pin them across devices.

Sessions

Coordinate devices

Track devices, roles, and assignments as people join and leave a session.

Synchronisation

Pick your transport

In-memory, WebSocket, WebRTC, or Yjs adapters, with relay fallback when peer connections fail.

Bindings and devtools

Build and inspect

React hooks, Web Components, and topology tools, with a reference drawing demo.

Built with

  • TypeScript
  • React
  • WebSocket
  • WebRTC
  • Yjs
  • Node.js

Where each part of the interface lives is explicit session state, so apps stay consistent as devices come and go.

Back to all engineering

Use Distributed User Interfaces in your product

Tell us what you need and where it will run. We will agree scope, integrations, and rollout.