HN Debrief

Chatto is now open source

  • Open Source
  • Developer Tools
  • Infrastructure
  • Startups

Chatto is a newly open-sourced chat platform aimed at the space between Slack, Discord, Teams, and self-hosted tools like Mattermost. The pitch is straightforward: a fast chat app you can run yourself without the usual open-core traps, with voice and video support, SSO, a compact deployment model, and a web app that feels more polished than most open-source messaging software. Under the hood it ships as a single binary, uses NATS and JetStream for messaging and persistence, relies on LiveKit for calls, and leans hard into a strong PWA instead of native apps for now. The author was explicit about a few boundaries. Chatto is not end-to-end encrypted for chat, federation is intentionally avoided, and each server is isolated by design, though lightweight cross-server identity is being explored.

If you are evaluating internal chat or private community software, Chatto is worth a serious look now for small to mid-size self-hosted deployments, especially if Mattermost or Matrix feel heavy. Do not assume it solves interoperability, compliance, or enterprise mobile constraints yet.

Discussion mood

Strongly positive. People liked that it is open source, self-hostable without obvious feature gating, fast-feeling, and more polished than many existing chat alternatives. The main reservations were about missing native mobile apps, no chat E2EE, rough onboarding, and the usual network-effect problem for any Slack or Discord replacement.

Key insights

  1. 01

    NATS is part of the appeal

    Using NATS with JetStream is not just an implementation detail. It signals a deployment model that stays small, operationally boring, and still scales far beyond hobby use. People with production experience described NATS as unusually reliable and one team said they had already pushed it to 5 million messages per minute in testing. That helps explain why Chatto can pitch a single-binary install without sounding toy-like.

    If you are assessing Chatto for self-hosting, evaluate the NATS stack as a core part of the product, not a hidden dependency. It is a good fit for teams that want simpler ops than Kafka-class infrastructure.

      Attribution:
    • wxw #1
    • hendrikmans #1
    • freakynit #1
  2. 02

    PWA gets farther than expected on mobile

    The web-first approach is not just a temporary compromise. It is a deliberate way to dodge a lot of mobile-client pain, and several comments pointed out that Web Push now covers more ground than many people assume, including iOS in some cases. The hard part is not basic notifications on one server. The hard part is multi-server push, because each server wants its own service worker identity, and native apps eventually pull you back into Apple Push Notification Service and Firebase Cloud Messaging anyway.

    Treat the current mobile story as viable for early internal use, especially if you can live with a PWA. If your rollout depends on polished native clients across many servers, wait and watch how push relays and first-party mobile apps develop.

      Attribution:
    • sneak #1
    • renchap #1
    • hendrikmans #1
    • bdbm #1
  3. 03

    Isolation is a feature, not a bug

    Chatto is intentionally not trying to be Matrix, XMPP, or a federated public network. That choice gives it a simpler security and product model for private groups, family servers, and company deployments where the point is to restrict membership and control data locality. The cost is obvious. You lose the built-in network effects and cross-community convenience that make Discord sticky. The author is only exploring lightweight identity federation, not content federation.

    Chatto makes the most sense when you want separate, controlled chat islands. If your strategy depends on open interoperability between organizations or public community growth, this architecture is working against you.

      Attribution:
    • hendrikmans #1
    • nine_k #1
    • 0xbadcafebee #1
  4. 04

    Dual licensing matches the go-to-market

    The backend being AGPL and the frontend Apache 2.0 is a commercial posture, not a licensing accident. The backend license is there to stop a cloud competitor from quietly forking and hosting the service without publishing changes. The more permissive frontend keeps white-labeling and customization easier and avoids spooking enterprise buyers over client code that does not really create the same competitive risk.

    If you are an operator or systems integrator, the licensing split is probably favorable. If you are planning to build a competing hosted service on top of Chatto, expect the backend license to be the constraint that matters.

      Attribution:
    • goodroot #1
    • ricardobeat #1
    • raaron773 #1
  5. 05

    Retention and SSO are already in scope

    A lot of self-hosted chat tools stumble by assuming privacy defaults and business requirements can be solved later. Chatto already exposes the tension. The author said account shredding on delete is configurable, with deactivation and retained data available for workplace setups, and separately confirmed full SSO support through OpenID Connect and common providers. That does not make it enterprise-complete, but it shows the product is being shaped for real organizational use rather than only hobby servers.

    If you are screening tools for team chat, do not dismiss Chatto as just a Discord clone. It already covers two procurement blockers that often get paywalled or postponed in this category.

      Attribution:
    • hendrikmans #1 #2
    • duttish #1

Against the grain

  1. 01

    AI-assisted development is a dealbreaker for some

    For a subset of readers, the mention of agentic coding was not a fun footnote. It was enough to rule the project out entirely. The objection was ethical, not technical. They see current AI coding tools as built on unlicensed training data, environmentally costly, and part of a broader degradation of software and labor. That means Chatto inherits reputational risk from how it was built, even if the released code is open source and looks solid.

    If your user base or buyers are sensitive to AI provenance, expect this issue to surface in evaluation and community adoption. Be ready to answer values questions, not just code-quality questions.

      Attribution:
    • ori_b #1 #2
    • iaaan #1
  2. 02

    Self-hosting does not replace end-to-end encryption

    The case against chat without end-to-end encryption was not that self-hosting is useless. It was that self-hosting only changes who you trust. It does not remove the need for trust, and it becomes much weaker once hosted cloud offerings enter the picture or regulation pushes client-side scanning. Since Chatto only uses end-to-end encryption for calls today, it will not satisfy people who want cryptographic protection from operators, providers, or future policy changes.

    If your threat model includes your own admin, your hosting provider, or compelled access, Chatto is the wrong fit today. Keep it in the bucket for controlled environments, not high-sensitivity messaging.

      Attribution:
    • attila-lendvai #1
    • hendrikmans #1
    • lrae #1
  3. 03

    Migration and differentiation are still weak

    Some people did not buy the launch pitch because it still reads like another entrant in an already crowded field. They wanted clearer answers on why this beats Fluxer, Rocket.Chat, Mattermost, Zulip, or the long tail of Discord replacements, and they wanted more than one-shot import tools. Without durable sync or bridges to Slack and Discord, switching costs stay high and the network effects remain intact.

    If you are considering Chatto for an organization, focus less on raw feature demos and more on migration mechanics. The product needs a credible coexistence path before it can win against incumbents in mixed environments.

      Attribution:
    • crote #1
    • ygouzerh #1
    • suis_siva #1

In plain english

AGPL
Affero General Public License, an open-source license that requires source code disclosure for modified software offered over a network.
Apache 2.0
A permissive open-source license that allows broad reuse with relatively few obligations.
federation
A design where separate servers can interoperate and exchange messages while staying independently run.
JetStream
The persistence and streaming layer built into NATS that stores messages and supports replay and queues.
LiveKit
An open-source platform for real-time voice and video features in apps.
Matrix
An open communication protocol and ecosystem for chat, calling, and federation across servers.
NATS
A lightweight messaging system used by applications to send events and data between services.
PWA
Progressive Web App, a website that can behave more like an installable app with offline support and notifications.
service worker
A browser component that runs in the background to handle caching, notifications, and other app-like web features.
SSO
Single Sign-On, a login system that lets users access multiple applications with one identity provider.
XMPP
Extensible Messaging and Presence Protocol, an open standard for chat and messaging.

Reference links

Project docs and related code

Competing or comparable chat projects

Push notifications and public chat indexing

  • Answer Overflow
    Example of making Discord conversations publicly readable and searchable.
  • Linen
    Another example of indexing private chat communities for public read-only access.

Infrastructure and protocol references

Directories and discovery