LibraryRepo of the day10 min read
Chatto and the Slack per-seat bill
A 25-person team on Slack Pro pays about $2,175 a year for a place to talk, and the bill climbs with every hire. Chatto is a single self-hosted binary that does the same job for the cost of a small server, roughly $120 a year, flat.

A 25-person company on Slack Pro pays about $2,175 a year for a place to talk, and that number is not a ceiling, it is a slope. Every hire adds another seat, every seat adds $7.25 a month on the annual plan, and the day someone in finance decides you need single sign-on and data exports you move to Business+ and the same 25 people now cost $3,750 a year. Chatto, which its author open-sourced on July 8, is a single executable you run on your own server that does the core of that job, channels, direct messages, files, voice and video calls, for the cost of the server it sits on. On a small virtual machine that is somewhere around ten dollars a month, flat, whether you have twelve people or eighty.
What actually shipped
Chatto is not a new project, it is a newly free one. Hendrik Mans spent roughly a year building it as a commercial product and then, on July 8, released the whole thing under an open-source license and made it available to self-host. By the time it went public it already had 97 tagged releases and around 960 commits behind it, which matters, because the usual failure mode of a repo that trends for a day is that it is a weekend prototype with a good README. This is a finished-feeling 0.4 with a changelog going back the better part of a year.
The pitch is deliberately boring in the right way. You are familiar, the author writes, with the app that rhymes with "knack," the one that rhymes with "beams," and the one that rhymes with "this gourd." Chatto is those, with the difference that it is compact, fast, and runs on your infrastructure instead of someone else's. In its simplest form you install it through Homebrew with brew install chattocorp/tap/chatto, run chatto init and then chatto run, and you have a working server that even serves its own web frontend. There is no separate database to stand up on day one, no message broker to babysit, no cache layer. One process, and it is talking.
The feature list is the part that decides whether this is a toy or a tool, and it reads like a tool. Channels and direct messages, roles and permissions, file sharing, link and video embeds. Voice and video calls are built in, with screen sharing, and the calls are end-to-end encrypted. All personal and chat data is encrypted at rest with per-user keys, and the author says those keys are shredded when a user deletes their account. Each server hosts exactly one community, with no federation between servers and no third-party tracking or analytics baked in. Binaries exist for Linux on x86 and ARM, for macOS, and for Windows. If you would rather not run it yourself, the author is standing up a paid hosting option, Chatto Cloud, on European infrastructure, which is a straight hosting fee with no premium tier attached and, importantly, no lock-in: a cloud-hosted server and a self-hosted one are the same thing, and you can move your data either direction.
Why this matters to a small operator
Slack's price is not the problem most teams think it is. The problem is the shape of it. A per-seat subscription is a tax on growing, and it is a tax you pay in the currency you least want to spend it in, which is per-employee overhead that scales linearly and never comes back down. A 40-person shop that would like everyone, including the warehouse and the part-time weekend staff, in one chat has to weigh that inclusion against roughly $290 a month on Pro, so what actually happens is that half the company gets left off the tool, and the tool stops being where the company talks. The moment you are rationing seats, you have already lost most of the value.
A flat server cost inverts that math. Chatto on a small VPS costs about the same whether you invite everyone or nobody, so there is no reason to ration. That is the real displacement here, and it is worth being precise about it: you are not saving a fortune in absolute dollars at 25 people, you are removing the per-head friction that made you cautious about who gets access. For the two readers this series is written for, that lands in different ways. The operator with a field team gets to put the whole company in one room without doing seat arithmetic. The ops or RevOps person who has watched three tools get bought and half-adopted gets a version of the internal-communication problem that they can actually stand up themselves on a Friday, without filing a ticket and waiting six weeks for IT to provision an enterprise plan.
There is a second thing here that is easy to miss under the price story. Where the chat lives is a data question, not just a cost question. Every message your team sends through a hosted product is a message sitting on that vendor's servers under that vendor's retention and access policy. For a lot of small businesses that is a shrug, and fine. For a law office, a clinic, an accounting practice, or anyone who has signed a client confidentiality clause they actually read, the answer to "where does our internal chat get stored" being "on a box we control, encrypted at rest, with no analytics phoning home" is not a nice-to-have, it is the reason to switch. Chatto is one of the few self-hosted tools where the privacy posture is a headline feature rather than an afterthought.
The honest take
Here is where the free has to be weighed honestly, because "free" is doing a lot of work in that opening paragraph and it is never the whole cost.
Start with setup. The happy path really is short: on a machine you already have, the install-and-run sequence is a matter of minutes, and for a small internal team poking at it, that is the whole story. Production is a longer afternoon. You need a server, a domain name, TLS certificates so the connection is encrypted in transit, a reverse proxy in front, and a backup routine so a dead disk does not take your company's entire chat history with it. None of that is exotic and all of it is documented, but budget a few hours the first time if you have done this kind of thing before, and a full day if you have not and you want it done properly. This is the line most "just self-host it" coverage skips, so say it plainly: the software is free, the competence to run it safely is the price, and for a non-technical operator that competence is either a capable person on staff or a few hundred dollars of a contractor's time to set it up once.
Then the running cost, which is small but not zero. A basic VPS that comfortably runs Chatto for a small team is in the range of six to twelve dollars a month depending on the provider. Voice and video are the variable: end-to-end encrypted calls scale to as many participants as your infrastructure can handle, which is another way of saying that a fifteen-person all-hands video call needs more machine than a text-only server does. Plan for a slightly bigger box than the minimum if calls are going to be a daily thing.
Now the gaps, because they are real. Slack at $7.25 a seat is not just a chat window, it is an ecosystem: thousands of prebuilt integrations, a mature search across years of history, native mobile apps that reliably push notifications, Slack Connect for talking to other companies, and, on the paid business tiers, the SSO and compliance exports that a security review will demand. Chatto is a single-community server with a web frontend and, as of this writing, no native mobile apps of its own, which means phone access is through the browser and mobile push notifications are the weak spot. If your team lives on their phones, test that hard before you commit. The integration story is thin compared to Slack's, by design and by age. And the product is pre-1.0: the author expects to reach 1.0 in six to twelve months and is explicit that breaking changes may land before then, so self-hosting today means committing to keeping up with releases rather than installing once and forgetting it.
The maintainer question is the one that should give a cautious buyer the most pause, and it cuts both ways. Chatto is one person's work. The repository is not accepting outside contributions right now, which keeps the vision coherent but also means the bus factor is exactly one. If Hendrik Mans loses interest or gets hit by the proverbial bus, you are not stranded the way you would be with a shut-down SaaS, because the code is open under AGPL-3.0 and you keep running the binary you have, but you inherit a codebase with no community around it and no one shipping fixes. That is a materially different risk than betting on Slack, which is owned by Salesforce and is not going anywhere. Weigh it as what it is: lower monthly cost, higher key-person risk.
One more thing to state clearly, since it trips people up. The AGPL license sounds scary and mostly is not, for this use. AGPL's teeth only bite if you modify Chatto and then offer that modified version to third parties as a network service, in which case you owe those users your changes. Running an unmodified Chatto as your own company's internal chat triggers none of that. The exceptions the project carves out under a more permissive license cover the frontend, the integration surfaces, the docs, and the examples, so building against it is deliberately unencumbered. If you are just self-hosting it to talk to your own team, the license is a non-issue. If you are planning to fork it and sell hosting, read LICENSING.md first.
There is a quieter story worth noticing in the repository itself. The project ships with .claude, .codex, and AGENTS.md directories, the scaffolding of AI coding agents, which is the tell that one developer built and shipped a credible competitor to a Salesforce product in about a year with heavy AI assistance. That is the actual state of the art this series keeps pointing at: the thing that used to require a funded team is now inside reach of a single motivated builder, and the output is good enough that a business can run on it. Whether you adopt Chatto or not, that shift is the part to sit with.
The decision in front of you is smaller than the price gap makes it look. If your team is technical enough to run a server and lives mostly at desks, Chatto turns a growing per-seat bill into a fixed line item and puts your conversations on hardware you control. If your team is non-technical and phone-first, the honest answer today is to keep paying Slack and revisit when the mobile apps land. The number is real, but so is everything the number is not counting.
Sources
Every claim above traces back to one of these. Go read them yourself.
- 01chattocorp/chatto on GitHub
GitHub / github.com / retrieved Jul 31, 2026
- 02Chatto is now Open Source!
hmans.dev / hmans.dev / retrieved Jul 31, 2026
- 03Slack pricing
Slack / slack.com / retrieved Jul 31, 2026
- 04Chatto self-hosting documentation
Chatto / docs.chatto.run / retrieved Jul 31, 2026
Related reading
Nearest neighbours by meaning, drawn from the whole library rather than from matching tags. Some of these are from a different series on purpose.
Repo of the day
Macro and the forty-dollar stack
Ten people on Superhuman and Linear alone costs $5,880 a year, and all it buys is an inbox and a task board. Macro does email, chat, docs, tasks, calls and CRM out of one app for $40 a seat, and it moved to the AGPL in May, which means the escape hatch is written into the license.
Operator answers
Your Software Just Added AI. Do You Pay For It?
Three renewals this quarter, three new AI lines, priced anywhere from twenty nine dollars flat to a hundred and twenty five per seat. Which ones to pay for has almost nothing to do with how good the AI is.
Repo of the day
Twenty and the data model you were renting
A ten-person sales team on Salesforce list pricing pays about $21,000 a year, and the thing they are actually renting is not the software. It is the shape of their own business. Twenty puts that shape in a repository you own, and it shipped four releases in two days.