Skip to content

Introduction

Welcome to the DXOS documentation!

DXOS is an open source framework for building real-time, collaborative web applications that run entirely on the client and communicate peer-to-peer, without the need for centralized servers. To show off the power of DXOS, we’ve built Composer: a local-first workspace that is designed for small team collaboration.

The DXOS SDK is under active development, however our current focus is building features and functionality that enables the development of Composer. To this end, we’re currently only able to provide limited support to developers using the SDK, and will prioritize suggestions and contributions that align with our work on Composer.

If you are interested in working with or contributing to either the SDK or Composer please share feedback on GitHub or in Discord.

The DXOS SDK includes several technologies that work together:

  • ECHO - Peer-to-peer database and reactive state container for offline-first, real-time, collaborative apps.
  • HALO - Auth, identity & contact management for decentralized apps.
  • MESH - Networking transports used by ECHO & HALO.
  • EDGE - Web services running on Cloudflare workers, providing sync, backup, compute, etc.
  • App Framework - Build modular applications based around plugins & capabilities, such as Composer.

Compare

DXOS applications vs typical software-as-a-service web applications:

SaaS Web AppsDXOS Apps
How code is servedclient & server renderedstatically served & client rendered
How data is storedon the serveron the client (optionally backed up to a server)
How data is exchangedclient to server via HTTP or Web Socketspeer-to-peer via WebRTC (optionally via a sync server)
How identity is establishedservers issue session tokens after validating credentials with methods like OAuthclients generate their own private/public key pairs and use them to sign messages in the database.