Equion is a chat platform, similar to Discord, but built with mathematics in mind. It has built-in support for LaTeX and Markdown, high-quality low-latency voice chat and screen sharing, and is lightweight and lightning-fast thanks to Rust and Tauri.
All of Equion's custom services are built with Rust where possible and have maths-based names which are vaguely related to their functionality.
| Name | Description | Tech Stack |
|---|---|---|
| Domain | The core Equion server, providing the API and interfacing with the database. | Rust, Humphrey, MySQL |
| Range | The Equion front-end, providing the user interface | Rust, Tauri, React, TypeScript, Sass |
| Bijection | JavaScript bindings to the Equion API, used by the front-end | TypeScript |
| Axiom | The Equion website | React, Gatsby, TypeScript, Sass |
| Matrix | Release manager, used to publish and retrieve Equion releases | Rust, Humphrey, JasonDB |
| Database | The Equion database | MySQL |
| Voice | The Equion voice chat server | PeerJS, WebRTC |
| Gateway | The Equion gateway | NGINX |
As of July 2023, I'm no longer hosting Equion, so you'll need to host your own server:
- Install Docker and Docker Compose on the server.
git clone https://github.com/w-henderson/Equion && cd Equion.docker-compose builddocker-compose -f docker-compose.prod.yml up -d.
To configure the client to connect to your server, add an entry in range/src/servers.json.

