Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

ViceVerse-cz/Serein

Productivity & Utilities

A native Rust/egui Discord desktop client for users who want a lightweight alternative to the Electron app.

1,201
112
Rust
Apache-2.0
2 months old

What it is

Serein is a third-party Discord desktop client written in Rust with egui and wgpu. It talks directly to Discord's gateway and REST endpoints for a regular user account, replacing the Electron-based official client with a single native process. It targets Discord users on macOS, Linux, and Windows who care about memory use and CPU load and want native voice, video, and screen sharing in a small client.

Beyond chat, the feature set covers voice channels and DM calls, screen capture, forum channels and threads, server administration (roles, audit logs, invites, webhooks, stickers), multi-file uploads, a GIF and Twemoji picker, video playback, a plugin and theme shop, and keybind shortcuts. A feature matrix in the README marks each capability as implemented or partial.

The README reports a macOS comparison while browsing channels during a 60 FPS screen share: about 129.7 MB RAM and 8.1% CPU for Serein versus about 1,178.4 MB across seven processes and 22.8% CPU for the official client. Those numbers come from one scenario on one machine and are not a general benchmark.

Quick start

Prebuilt builds are published on the Releases page. Pick the route for your platform:

  • Linux: the recommended Flatpak install is flatpak install --user https://viceverse-cz.github.io/Serein/flatpak/serein.flatpakref, then launch with flatpak run cz.viceverse.serein. A signed package repository, Gentoo overlay, Nix flake, and AppImage are also available.
  • Windows: download Windows-X64-Setup.exe or Windows-ARM64-Setup.exe and run it; it installs per-user without admin rights. A portable zip and a PowerShell setup script are alternatives.
  • macOS: brew tap ViceVerse-cz/serein then brew install --cask serein, or download the .zip and drag Serein.app to /Applications.

On first launch, sign in through the embedded Discord login webview (email/password, QR, or MFA). Session tokens are stored in the OS credential store by default.

To build from source, install Rust 1.99.1 plus the platform toolchain listed in the platform support guide (Xcode tools on macOS; GCC/Clang, ALSA headers, GTK 4, WebKitGTK 6.0 and Vulkan on Linux; Visual Studio C++ tools and WebView2 on Windows). Then:

# try the client with synthetic data and no login
cargo run --locked --features demo -- --demo

# run the real client
cargo run --locked

cargo xtask check runs formatting, Clippy, tests, and policy checks for the workspace.

Constraints

  • Serein is unofficial and not endorsed by Discord. Using a normal account through direct gateway/REST access rather than the OAuth2/bot API violates Discord's Terms of Service and carries a risk of account termination, which the README states explicitly; review the compatibility notes and authentication guide before use.
  • The local SQLite store for history, drafts, and settings is bounded but not encrypted by the application. Only auth tokens go to the OS credential store, with an explicit plaintext fallback available when the keyring fails.
  • AI translation / language support: the localization is partial; full IME and bidirectional text editing are described as unverified.
  • Platform gaps: Linux native screen capture is marked unverified, and the macOS Nix build is unsigned and unnotarized. Nix installs do not use the in-app updater.
  • The AppImage relies on host GTK4 and WebKitGTK 6.0 libraries.
  • Code is dual-licensed MIT or Apache-2.0.

HotRepo's take

The only recorded ranking is a Rust-language daily list entry on 2026-11-09, where Serein placed 12th with 36 stars added that day, bringing the repository to 1,173 stars and 110 forks. That is a single snapshot on a language-specific list, not the all-language daily ranking, so it supports the fact of a Rust-community spike but not a trend claim. What stands out technically is the amount of native engineering behind that interest: a multi-crate workspace that separates protocol, gateway, voice, storage, and UI, plus OS-specific capture and hardware decoding paths. The explicit ToS warning in the README means anyone interested should weigh the account risk before installing, not just the resource savings.

Written by AI from the project's README, updated . The project's own docs are the source of truth.

You might also like

  1. RshaCuDeVidro/larperCordA lightweight native Discord client for Linux and Windows with a themeable, low-RAM interface.Zig219
  2. emilk/eguiA GUI library for Rust developers who need any interface at all, especially inside games and tools.Rust31,719
  3. crmne/zapfastA native desktop WhatsApp client for Linux, macOS and Windows that skips the browser engine.Rust2,291
  4. ELY-Open-Source/ElyOfficeAn offline-first office suite and mail client for people who want a local alternative to Microsoft 365 and Google Workspace.Rust970
  5. Flowseal/zapret-discord-youtubeA Windows toolkit of DPI-bypass strategies for restoring access to YouTube, Discord and Telegram.Batchfile35,752