# Vojo — Overview ## What is Vojo A Matrix-based chat client targeting the Russian market. Fork of [Cinny](https://cinny.in) (MIT license), rebranded as Vojo. This repo is the **client only** — no server sources live here. Value proposition: "Telegram works without VPN" — the server runs a mautrix-telegram bridge, users just open vojo.chat and chat. ## Infrastructure - **Domain**: vojo.chat - **Server**: Yandex Cloud VPS, Ubuntu 24.04 - **Homeserver**: Synapse (Matrix) + PostgreSQL + Caddy (reverse proxy) - **Bridges**: mautrix-telegram v0.15.3 (Python, SOCKS5 proxy for Telegram) - **Client**: this repo — deployed as static files via Caddy Client source on server: `~/vojo/cinny/`. Caddy serves it at `https://vojo.chat` (via `/var/www/cinny` symlink to `~/vojo/cinny`). ## Branding "Vojo" everywhere in UI, page titles, meta tags. ## Default homeserver All configs must point to `vojo.chat` as the default and only homeserver. Hide homeserver selection from the user — end users should not need to know this is Matrix. ## Build & Deploy (web) ```bash npm ci npm run build scp -r dist/* vojo-superuser@111.88.146.156:~/vojo/cinny/ ``` VSCode task `Deploy to vojo.chat` (Ctrl+Shift+D) automates this. Android build/deploy is covered in [android.md](android.md). ## Developer profile - Git identity: `v.lagerev`, email `opnaigpt@gmail.com` (referred to as Julian in legacy notes) - Background: C++ backend engineer, limited frontend experience - Communicates in Russian - Uses Claude Code agents heavily for frontend work - Reviews both English (grammar) and Russian (naturalness) translation quality - Notices lint regressions, exhaustive-deps issues, use-before-define errors - Prefers concise communication with file paths and line numbers ## External references - [Matrix Client-Server API](https://spec.matrix.org/latest/client-server-api/) - [Synapse Admin API](https://element-hq.github.io/synapse/latest/usage/administration/admin_api/)