Reaching Application

This component is a single-page web application built with Gleam and Lustre that allows individuals (“Reaching Users” or “Reaching Parties”) to establish safe, anonymous, end-to-end encrypted communication channels with trusted “Reachable Peers” through the Reach protocol.

It is designed for scenarios where users cannot afford to persist sensitive state on their devices and wish to remain indistinguishable from one another even from the server’s perspective.

Note

This is pre-alpha software, and not yet fit for serious use. This documentation is written in the spirit of Readme Driven Development.

UX Goals

Development

Once you set up the Reach development environment, a hot-reloading development server can be started with:

just start-reaching-app-dev

This command builds a Reachable Server Node that hosts the Reaching Application and Reach protocol endpoint, along with the Reaching Link Wasm library. It will automatically hot-reload whenever changes are made to Gleam code, associated JavaScript files, or any of the other aforementioned component’s source files.

Implementation choices

A non-exhaustive list of guiding principles that inform how we design and maintain the Reaching Application:

Search Document