Chatto is now open source
hmans.dev958 points by speckx 18 hours ago
958 points by speckx 18 hours ago
> It’s designed to be extremely easy to self-host on your own infrastructure.
Kudos for this. Per the docs: https://docs.chatto.run/,
> Chatto ships in a compact, self-contained binary
> it uses NATS, a compact message broker that also ships with a built-in stream persistence engine [...] NATS is just as easy to provision as Chatto, and most of our examples will show you how.
> you can also configure an external S3-compatible object storage for Chatto to store your files in, and we strongly recommend doing so...
> The actual calls are powered by LiveKit (Apache-2.0), which you need to deploy alongside Chatto. As with NATS, the deployment examples show the required wiring.
> ...
And kudos for backing it up with real guidance. Great project.
Wow, it's using NATS! I used NATS extensively 10+ years ago, and I'm happy to hear it's still around. Our infrastructure had hiccups across our fleet of machines, but one part that always remained up and running without complaining on some dinky machine was NATS. Well, that and Redis. No complaints ever.
We are building something B2B expected to have good enough scale ... we had to choose between kafka, nats, redpanda and rabbitMQ .... We went ahead with NATS .... don't know why, but, when we went through all the docs, including setup and operational, NATS just felt right.
We are in the same decision making stage and trying to choose between rabitMQ, Kafka, NATS and some solutions built on top of Redis.
Did NATS eventually worked well?
Excellent. We already tested at okayish scale of 5 million messages per minute, with each message being less than 1KiB. Do note that NATS can easily handle 100x this scale. It's just what we had tested during initial days.
Wow!
I have a stupid question - as I understand NATS works very well as a “message” pipe/bus. Anyway to get Redis type cache functionality as well ? Is it something possible ?
JetStream (not NATS) has a built-in key/value store. Relevant thread (old, from 2023): https://github.com/nats-io/nats.go/discussions/1507
someone did some benchmarks in 2025:
nats bench kv put --size="128" --msgs 1000000 --storage file
1m3s → Pub stats: 15,656 msgs/sec ~ 1.91 MB/sec
nats bench kv get --size="128" --msgs 1000000
59s → Sub stats: 16,720 msgs/sec ~ 2.04 MB/sec
I have personally not used this though.This is super cool. More options is always good. Something that is confusing about the docs though... is there a desktop application? The screenshot implies there is but I couldn't find the docs to download THAT.
There is a Tauri wrapper that I built early on because I wanted the desktop convenience (autostart, separate app, etc) that Firefox+PWA couldn't offer, I use the desktop version as my daily Chatto driver. The mobile build is more of a proof of concept for now. Check it out: https://github.com/teal-bauer/chatto-tauri
Hi, I'm making Chatto!
Chatto so far fully commits to providing a great PWA experience. The screenshot you're seeing is of the PWA.
I'm aware that a lot of people want desktop and mobile apps. These will be coming at some point, at least as wrappers around the PWA.
Can it be installed on Cloudflare or Vercel or something else that is easy/cheap/free?
I run something similar with livekit, all on hetzner. its exceedingly affordable for a bunch of people at once to use it.
I’ve known Hendrik for years, and he is one of the most talented developers I’ve ever met. I’m confident this project will become successful very quickly. Beyond the project itself, what fascinates me most is how he single-handedly developed it by leveraging agentic coding.
I second that. I've personally known him for almost 30 years by now, and he's still one of the smartest, most experienced, and most curious devs I've ever met. All around good guy, would work with him again any day of the week.
How is that fascinating? That's what makes up most of the tedious Show HN posts these days.
There is a difference between vibe coding (asking an agent to generate an app from specifications) and leveraging agents to go faster on your vision. You can still decide to control the technical architecture and decisions and just let agents type on your behalf.
Has he made anything else interesting?
20 or so years ago him and czottmann wrote a nice little wiki software that I used, WakkaWiki. Following him/them and their work ever since. Crazy.
[flagged]
These kind of comments just spike the conversation and leave no room for nuanced opinions or discussion.
A lot of garbage is also being produced and a lot of people have to clean it up, right? Hopefully that’s not too controversial of statement?
> These kind of comments just spike the conversation and leave no room for nuanced opinions or discussion.
It's a 20-something day old account.
Are you sure you read that here? I came back yesterday after a hiatus and I’ve been dismayed how many posts are just “yeah, I just run Claude all day” without a hint of embarrassment or shame.
I run Claude all day, and produced some good shit, but I'll admit to being thoroughly embarrassed that I haven't looked at it all, won't make it public, won't put my name on it, won't pick a license. I'm depressed about the whole thing and might take it up with a therapist.
My eyes are still rolling from GP's comment:
> he single-handedly developed it by leveraging agentic coding
>he single-handedly developed it by leveraging agentic coding
so, unmaintained in a year because the sole developer got bored/didn't make money from it/burned out ?
Great, I'll run my entire company on it!
are you ok? what do you need constant updates for on a self hosted chat server/client? it already looks like it has most of the features
Bug fixes and security patches, for one.
Fix it yourself.
Why would I do that? I'm not a domain expert in chat apps, and I've already got my own projects and software to fix. If I'm going to take on the maintenance of some chat app, why wouldn't I just build the whole ass thing myself from the beginning? Or, more prudently, why wouldn't I just skip over this one and find a chat app that's got a track record of continuing support so I don't give myself a headache down the road?