← Back to Blogs
HN Story

Komai: A Native, Rust-Powered Approach to the Matrix Desktop Experience

May 9, 2026

Komai: A Native, Rust-Powered Approach to the Matrix Desktop Experience

For nearly a decade, the team at etke.cc has focused on the infrastructure side of the Matrix ecosystem, providing hosting and developing the widely used matrix-docker-ansible-deploy playbook. However, while they solved the hosting problem for thousands, they remained dissatisfied with the available desktop clients. The result is Komai, a native Matrix chat application designed specifically for the desktop experience.

Building a Matrix client is a notoriously difficult task. The protocol surface is vast—covering everything from rooms and spaces to complex end-to-end encryption (E2EE) involving multi-device keys, cross-signing, and recovery. For the etke.cc team, existing clients often felt like a series of "papercuts"—small UX frictions that accumulated into a frustrating experience.

From nheko to Independence: The "Ship of Theseus"

Rather than starting from scratch, the developers began with nheko, a native Qt/QML client. The goal was initially modest: apply a few UX patches and ship a refined build. However, after approximately 100 patches, the project reached a "Ship of Theseus" moment. The divergence between their vision and the upstream project became too great to maintain.

To achieve full independence, the team undertook a massive architectural shift: replacing the encryption core. They ripped out mtxclient and libolm (which has been deprecated) and replaced them with the matrix-rust-sdk. This move aligns Komai with the modern direction of the wider Matrix ecosystem, enabling support for sliding sync and the vodozemac encryption implementation.

A Rust-Centric Architecture

The migration to the Rust SDK was the catalyst for a broader shift toward Rust. To reduce the C++ surface area and improve stability, the team integrated several Rust crates for specific functionalities:

  • Linkify: For URL detection in messages.
  • BlurHash: For image placeholder encoding/decoding.
  • Syntect: For code-block syntax highlighting.
  • Resolvematrix: For Matrix server discovery via Continuwuity.

By moving protocol- and text-heavy logic into Rust, Komai gains a more tested and performant foundation while maintaining a native C++/QML frontend for speed.

Design Philosophy and Key Features

Komai is built with a "desktop-first" mentality, avoiding the common pitfall of simply stretching a mobile UI to fit a monitor. Its design philosophy emphasizes readability, native performance, and transparency regarding Matrix concepts.

Power-User Features

  • Browser-Style Room Tabs: Users can open multiple conversations side-by-side and pin frequent rooms, a feature rarely seen in other Matrix clients.
  • Automation Hooks: The app can be driven via CLI, D-Bus, or AI agents using the Model Context Protocol (MCP).
  • Multi-Account Profiles: Dedicated application profiles allow for completely separate identities and states, each running in its own window.

Accessibility and Onboarding

  • Decentralized Registration: Instead of defaulting to matrix.org, the registration page offers a curated list of public servers to encourage decentralization from day one.
  • Inclusive Theming: Over 10 lives built-in themes (including Catppuccin, Dracula, and Tokyo Night) are maintained to meet WCAG AA contrast standards.
  • Voice Transcription: Inspired by Claude, users can long-press Space to dictate messages, which are then transcribed via OpenAI or local compatible servers, making voice communication searchable and skimmable.

The Role of AI in Development

One of the most discussed aspects of Komai is its development process. The team openly admits that C++, QML, and Rust are not their primary strengths and that they relied heavily on AI coding agents like Claude Code and Codex to implement the matrix-rust-sdk transplant and other features.

This approach sparked a polarized debate among the community. Some critics labeled the project "AI slop," arguing that relying on AI for core logic in languages the developers don't fully master is a risky move. Others defended the approach, noting that the result is a fast, open-source, non-Electron app that provides genuine value.

"AI in capable hands can deliver above-average results," the developers assert, positioning the tool as a force multiplier for engineers who know what they want to build, even if they aren't experts in every language used.

Current State and Availability

Komai is currently available for Linux (x86_64) via AppImage, Flatpak, Snap, and the Arch Linux AUR. While it is not yet flawless and remains Linux-only for now, it serves as a daily driver for the developers and a fully Free Software project under the GPL-3.0-or-later license.

References

HN Stories