I’ve just started a new open-source project called Matrust (naming things isn’t my strong suit 😅).
The Goal
The idea is to build a Matrix client (https://matrix.org) using:
- Rust, via matrix-sdk
- Slint for the UI (https://slint.dev)
But why this stack—especially when I have over 20 years of experience with C++ and Qt?
Why Rust + Slint?
Love it or hate it, Rust is one of the most exciting languages around today—safe, fast, and supported by a strong ecosystem.
As for Slint, I see it as a modern and lightweight alternative to Qt/QML, with a fresh take on UI development, especially in the Rust world.
So I thought: why not build a learning path, like I previously did for SwiftUI, but this time with Rust + Slint—on a real project?
This is a learning journey for me too—it’s the first time I’m combining these three technologies.
Current Status
The project is in a very early stage. At the moment, Matrust supports:
- Logging in
- Receiving messages from a test Matrix server
It’s basically a first commit. What’s in the repo today will likely evolve—or be completely rewritten—as the design and architecture solidify.
A Guide for Developers
I’ll be documenting every step of the process, to build a resource for:
- Rust or Slint beginners
- Developers curious about building a Matrix client
- Anyone who, like me, prefers learning by building real things
What’s Next
One of the upcoming posts will walk through setting up a local Matrix server using Docker. That way, we’ll have all the components running locally, making development and testing easier and more consistent.
The repo: