Introducing Chatto
I’m back with a new project: Chatto, a group chat application that’s simple to self-host, familiar to use, and licensed under Apache-2.0.
Chatto is similar to the group chat app you’re probably using at work, but better. The state of group chat applications has long been a source of frustration for me; the existing options are either prohibitively expensive, have terrible usability, or both. The ones that are available to self-host tend to be prohibitively complex, or come with a category of license that makes them too risky to use in many situations.
Chatto aims to be the one option you’ll actually enjoy using. Let me give you a quick overview.
Familiar Interface Paradigm
First of all, Chatto’s user interface is largely inspired by the most popular options on the market today; if you’ve used Slack, Teams, or Discord, you’ll feel right at home. I think it’s a good UI paradigm and wanted Chatto to feel instantly familiar.
Here’s what it currently looks like:

Modular and Extensible
Chatto is designed both to be a chat application, but also a chat platform. It comes with not one, but two APIs that can be used to extend its functionality:
- Client API: This API allows you to build custom clients, interfaces and integrations. It’s the same API that the built-in web UI uses, and provides access to all chat functionality, including real-time updates over WebSockets. This is the one you’ll use if you want to build a bot, a custom integration, or even a completely new client.
- Extension API: This server-side API allows you to extend Chatto’s functionality. Some of Chatto’s own functionality is implemented this way; for example, Chatto comes with a basic built-in full-text search module that doesn’t use a separate database; if you want, you can disable and replace it with a different implementation (for example one that dumps all data into an Elasticsearch cluster.)
Trivially Self-Hostable
One of the top priorities for Chatto has been to make it as easy to self-host as possible. While other solutions require you to set up an entire army of system dependencies (like databases, key/value stores, message brokers, etc.), Chatto is just a single binary that you can upload and run on the server of your choice. (It will even terminate SSL/TLS for you using an automatically managed Let’s Encrypt certificate, if you want it to!)
But Chatto is also designed to be highly scalable; even just running a single instance of it on very modest hardware will likely be sufficient for most use cases (I don’t have any hard numbers yet, but I’m gunning for thousands of concurrent users served by a single Chatto process.)
If you want High Availability, you can connect multiple Chatto instances to form a cluster, giving you replication of all data and self-healing failover capabilities.
The binary is available for macOS, Windows and Linux, with the latter supporting both x86_64 and ARM64 architectures. Yes, you can run Chatto on your Raspberry Pi!
Hosted Platform
I’m also in the process of setting up a platform that can host your Chatto instance for you if you would rather throw money my way (which I would very much appreciate, because this helps support ongoing development).
The hosted platform will provide options for free public spaces for your friends or your community, as well as paid private instances for teams and businesses. (I will talk more about instances and spaces in future updates.)
A True Open Source License
The core Chatto application is being developed as Open Source software, with the source code becoming available some time in 2026 under the permissive Apache-2.0 license. This will allow you to use and modify Chatto freely, even in commercial settings. There will be no restrictions on usage. Host Chatto for as many or as few users as you like.
Certain pieces of functionality that are primarily intended for Enterprise use (like SSO integrations or certain compliance features) may become available as separate software projects under a different (commercial) license, with free licenses available to non-commercial users and Open Source projects.
Current Status
I’ve been working on Chatto for a few months now, and things are shaping up nicely. Some important table stakes features are still missing (like video/voice calls, searching, etc.), and there are some ideas for chat UIs that I want to explore but haven’t.
Over the next few months, I will occasionally fire up test servers and invite people to drop by and try things out; follow me on Bluesky to find out when that happens, or sign up for email updates below.
Get Email Updates
You’re very welcome to sign up for email notifications about Chatto’s progress (very low volume; expect around one email per month.) This is where I will announce test server availability, releases, and other important updates.