Vex is an end-to-end encrypted chat platform — a privacy-first communication stack you can host yourself.
Every message is encrypted on your device before it leaves. The server stores only ciphertext and deletes your message after it gets to the intended recipient.
License: AGPL-3.0 — any server modifications must be open-sourced.
| Package | Description |
|---|---|
apps/desktop |
Desktop client — Tauri 2.0 + Svelte 5 |
apps/mobile |
Mobile client — Expo + React Native |
apps/website |
Public website — Vite + Preact + Node API handlers |
packages/store |
Shared state management (nanostores atoms) + VexService facade |
packages/ui |
Mitosis design primitives → Svelte + React |
packages/eslint-config |
Shared ESLint base config + SDK-only import restrictions |
- mise — manages Node.js and pnpm versions automatically
- Or manually: Node.js 24.x and pnpm 10.x
# Install mise, then let it pick up the pinned versions from mise.toml
mise installgit clone https://github.com/vex-chat/vex-chat.git
cd vex-chat
pnpm install# From the repo root — starts client apps in parallel
pnpm dev