kind

kind is not discord

A native Discord client built from scratch in C++ and Qt. No Electron. No compromise.

Why kind Exists

The official Discord client is Electron. It wraps a browser around a website and calls it an app. It uses hundreds of megabytes of memory to do what a native application could do with a fraction of that.

kind is built from scratch as a native application in C++ and Qt 6. The difference is tangible. The UI loads instantly. On first launch, things appear as fast as Discord's servers respond. On every launch after that, everything comes from cache and is validated against the network in the background. It feels as fast as opening a plaintext file.

kind targets Windows, macOS, and Linux.

In Action

Guild view showing channel sidebar, guild list, and image embeds in a conversation ×
Rich content rendering with embedded media, formatted text, and emoji reactions ×
Interactive component buttons and structured embeds in a channel ×
Direct message conversation with bot interaction and image grid ×

What's Built

  • Authentication

    Token login with system keychain storage and automatic login on subsequent launches. Multiple account support with separate config, logs, and cache per account.

  • Guilds and Channels

    Full guild list with icons, ordering from your Discord settings, and aggregated unread and mention counts. Channels organized by category with collapse, expand, position sorting, and permission-based visibility.

  • Direct Messages

    1-on-1 DM conversations with a dedicated view sorted by recency. Start new conversations with user search. Avatars throughout.

  • Message Display

    Every Discord message type rendered correctly: user messages, replies, system messages, ephemeral messages, and bot interactions. Full markdown including bold, italic, code blocks, spoilers, quotes, strikethrough, underline, and links. @mentions resolved with theme-aware colours. Rich embeds, file attachments with image, video, and audio display. Reactions with custom emoji, stickers, and both V1 and V2 interactive components.

  • Message Sending

    Send text messages in any channel or DM. Toggle reactions on and off. Emoji shortcode resolution across all Discord shortcodes. Incoming edits and deletes rendered in real time.

  • Unread Tracking

    Per-channel unread counts and mention badges that persist across restarts. Reconciles with Discord's server state on connect. Mute tracking at both guild and channel level. Configurable accent bars and badges. Jump pill for quick unread navigation.

  • Performance

    Viewport-prioritized image downloads with memory LRU and disk caching. SQLite per-account cache for messages and guilds. Multiple memory profiles from lean to generous. Scroll anchoring and smooth rendering across large message histories.

  • Infrastructure

    Full Discord permission algorithm. Rate limiting with per-route buckets. Gateway reconnection with session resume and exponential backoff. Status bar with connection state.

  • Preferences

    Configurable appearance, indicator styles, mention colours, timestamp display, and memory profiles. Unread bar and badge toggles per channel, guild, and DM. Choice of theme accent or Discord blue for mention badges.

Not Yet

Intentionally deferred, not forgotten.

  • Voice and video
  • Screenshare
  • Sending edits and deletes
  • File uploads
  • Slash commands
  • Context menus
  • Message search
  • Pinned messages
  • Typing indicators
  • User presence
  • Group DMs
  • Threads and forums
  • User profiles
  • Friend list
  • Server management
  • System notifications
  • System tray
  • Keyboard shortcuts
  • Custom themes

Developer

txtsd

Solo indie FOSS developer.