Matrix client in kotlin
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.mvn/wrapper newer maven Dec 29, 2018
src fix maven compile and break IDE build Jan 11, 2019
.gitignore suppress warnings Dec 30, 2018
.travis.yml add travis Dec 29, 2018
LICENSE v0.2 Sep 5, 2017 update readme Jan 1, 2019
jitpack.yml update version Jun 19, 2018
mvnw newer maven Dec 29, 2018
mvnw.cmd newer maven Dec 29, 2018
pom.xml version Jan 11, 2019

Matrix client built for desktop platforms based on the koma library

Build Status



  • designed to bridge existing chat apps, so you can switch to an open platform at now, thanks to the Matrix project:

    • provides bridge for Gitter, Slack, the whole freenode IRC network
    • There are projects providing support for almost all platforms such as xmpp and Telegram
    • bridges are well-integrated, users on other platforms appear as individual users with avatar here
  • Multimedia capability

    • Links in plaintext messages are identified and preview is shown whenever applicable
    • Known services are treated in the most reasonable way, for a Github repo, this could be the number of stars, forks, the
    • Known media type are auto-loaded, image links are converted to images
  • Display Emoji on all OS using Emoji One

    • Built-in virtual emoji keyboard
  • Fetch chat history to allow you to read early messages

  • Store all data to disk. So it starts very fast and previous chats appear instantly. Incremental sync puts less stress on servers and also make sync much faster

  • GUI created using tornadofx, uses much less resouces than packaged html and js

Download and run

The Kotlin code currently runs on JVM, make sure you have Java runtime environment not older than version 11.

Precompiled packages are built for Mac and Linux platforms, download the latest version from Releases page.

For convenience, all dependencies all packaged in a single file, just double-click to run it. Alternatively, you can also use a command like java -jar filename.jar.


Use your matrix ID, such as (Support for other forms of username coming soon) and your password to login

If the server allows it, you can also enter a new ID and click register to get an account.

A token will be saved so the next time you login, password doesn't need to be entered.

Feature development progress

In progress

  • Support more types of multimedia messages

    • video
    • audio
  • Parse plain text messages and display some content in a better way. Display known kinds of links in line.

    • Preview links to images
    • Preview for Github repo

To be implemented

  • Notifications

  • Tab completion for nicks

  • Internationalization, support multiple languages

  • [ ]Remember all positions where the user finished reading previously, to make it easy to read all history messages, without manually finding previous unread messages.

  • [ ]Advanced filtering operations based on any combination of keyword, chatroom, user name and more to reduce distraction and help focusing

  • [ ]Smart notification to help people focus on what's important and don't get distracted


Try it

Just try it and when you find anything unhandy, tell us about it. Your idea will help to focus on the most needed features, and a handy client for Matrix will be a reality sooner.

If you know someone who might be interested in open-source communication, star or share the project, more usage and feedback will always be helpful.


If you are interested in or have experience with Kotlin or Matrix, feel free to click "Fork" and experiment with the source. There are a lot of ways to make improvements.

It's a good idea to open an issue before you start working, in order to coordinate work and avoid duplicate work.