finds.dev← search

// the find

tinode/chat

★ 13,354 · Go · GPL-3.0 · updated Apr 2026

Instant messaging platform. Backend in Go. Clients: Swift iOS, Java Android, JS webapp, scriptable command line; chatbots

Tinode is a self-hosted instant messaging platform with a Go backend and native clients for Android, iOS, and web. It's aimed at teams or developers who want a WhatsApp/Telegram-like system they fully control, without the XMPP complexity. The gRPC support means you can connect server-side bots or services in basically any language.

Multiple database backends (MySQL, Postgres, MongoDB) with a clean adapter interface makes it genuinely portable, not just theoretically. The sharded clustering with consistent hashing for session routing is production-grade, not an afterthought. The plugin system and REST auth backend let you bolt on custom auth and moderation without forking the server. The scriptable Python CLI (tn-cli) is actually useful for admin automation, not just a demo.

GPL 3.0 on the server is a real constraint — if you embed this in a commercial product, you're open-sourcing your whole stack or paying for a commercial license. End-to-end encryption is still on the 'planned' list after years of development, which is a significant gap for anyone with actual privacy requirements. Federation, the project's stated primary goal, is also still planned — so the core promise is undelivered. The RethinkDB adapter is being dropped in 2027 and already deprecated, signaling that adapter maintenance is not a priority when databases fall out of fashion.

View on GitHub →

// 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 →