← Back

Chatto Development Instance Available

I’m happy to announce that a development instance of Chatto is now available for public testing! You can reach it here:

dev.chatto.run

Notes

  • This instance is running the latest development version of Chatto, and is updated on a regular basis. I’m hanging out on there (of course) and am happy to hear your feedback, bug reports, feature requests and more, so this is a great chance to contribute and shape the direction of this project.
  • This instance is ephemeral — all data will be deleted on March 1st, 2026. Please do keep this in mind. Please also be aware that you will not be able to export your data from this instance, so do not use it for anything important.
  • Creating your own space within this instance is currently locked, but if you do want to give it a go, DM me and I will set one up for you.
  • Many big features are still missing, most notably audio/video calls, search, full offline push notification support, and any sort of mute/block functionality. All of these are planned, or already in development, alongside a host of other features. I will publish a full roadmap in the near future.
  • Binaries and source code will be made available later this year.

Instances and Spaces

I should take the opportunity to explain some Chatto terminology.

  • Instance: An instance is a complete deployment of Chatto, with its own database, configuration, and users. When you self-host Chatto, you will be running an instance. When you give me money to host Chatto for you, you will be getting an instance. Each instance is completely isolated from other instances.
  • Spaces: Chat rooms within an instance are organized into spaces. A space acts as a collection of rooms, with its own members, permissions, and settings. Users within an instance can join multiple spaces within the same instance, or set up their own, given the required permissions. You can have an instance with just a single space if that’s all you need, or with hundreds of them (there is no hard limit.)

Behind the Scenes

Now that this development instance is available, you have an opportunity to give the app a try from a user perspective, but there is some behind-the-scenes stuff that is worth talking about (because I think it’s very cool and I can’t help myself from gushing about it.)

A cornerstone of this project has been to make Chatto as easy to self-host as possible. To that end, Chatto is designed to be run as a single binary, with no external dependencies (like databases, key/value stores, message brokers, etc.) to install and configure. It is also designed to be extremely light on resources, so that you can run it on extremely modest hardware. (A while back, I uploaded and ran it off of a cheap Chinese gaming handheld with an SD Card. That’s how lightweight it is.)

The Chatto executable sits at just under 50 MB, and contains everything it needs to run the application, including a web server that serves the web UI. Everything you can see and do on this development instance is powered by that single binary. (In this case specifically, the server is a single-node Kubernetes cluster that is running three copies of the binary, with proper blue-green deployments so I can roll out new versions to you with zero downtime.)

This has been one of the most important goals of this project, and I’m super stoked that it’s working out this well. Stay tuned for more blog posts about Chatto’s architecture and design in the future!

Stay Updated

It will come to no surprise that I will be posting regular development updates to the hmans and frens space on the dev instance itself. You’re also invited to follow me on Bluesky for announcements and updates.

If you want something a little more low-frequency, you can also sign up for email updates below. I’ll send out occasional updates (roughly once a month) about Chatto’s progress.

Powered by Buttondown.