finds.dev← search

// the find

msgbyte/tailchat

★ 3,635 · TypeScript · Apache-2.0 · updated Oct 2026

Next generation noIM application in your own workspace, not only another Slack/Discord/Rocket.chat

Tailchat is a self-hosted Slack/Discord alternative built on React + TypeScript with a pluggable microkernel on the frontend and a microservice backend meant to scale past a single server. It's aimed at teams or individuals who want to self-host chat and bolt on custom functionality (bots, integrations, workflow tools) rather than live inside someone else's closed platform. Ships with web, Electron desktop, React Native mobile, and a CLI for managing deployments and scaffolding plugins.

The plugin system is backed by real tooling, not just a spec — the CLI has generator templates for client plugins, server plugins, and combined server+web plugins, which lowers the bar for someone to actually extend it instead of just reading docs about extending it. CI is substantial: Docker publish workflows (including a canary channel), nightly Vercel deploys compiled from every commit, Playwright e2e tests, and dedicated desktop/Android build pipelines — this is not a repo where main is routinely broken. Multiple one-click deploy targets (Sealos, ClawCloud) plus Docker images mean self-hosting doesn't require reverse-engineering a docker-compose file from scratch. Backend is explicitly microservice-based, so horizontal scaling is a design goal rather than an afterthought bolted on later.

The README spends more words on the 'noIM' branding philosophy than on anything concrete about the architecture — no mention of the message broker, how the microservices talk to each other, or what the actual data store is; you have to go digging into the service code to understand what you're deploying. The project's own docs admit the third-party plugin interface is still unstable and 'retains the possibility of Break Change,' so anything you build against it today may need rework later. There's a `client/desktop-old` directory sitting alongside the current `client/desktop`, implying an incomplete migration and possible confusion about which one is actually maintained. No federation or interoperability with open messaging protocols (Matrix, XMPP, ActivityPub) — despite positioning itself against walled-garden IM apps, it is itself a walled garden you now have to operate yourself.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →