chat
Instant messaging platform. Backend in Go. Clients: Swift iOS, Java Android, JS webapp, scriptable command line; chatbots
An open-source, self-hostable messaging platform (Tinode), like running your own WhatsApp/Telegram server that can federate with other servers instead of relying on one company.
What is Tinode?
Tinode is an open-source messaging platform—think of it like a self-hosted alternative to WhatsApp or Telegram. Instead of relying on a single company to run the service, you can set up and run your own server. The core promise is that anyone can spin up a messaging server that can talk to other messaging servers around the world, creating a truly open network rather than isolated walled gardens.
The backend is written in Go, a programming language designed for reliability and speed. It's available as a web app you can use in your browser, plus native apps for iPhone and Android. There's also a command-line tool for scripting and automation. All these different clients talk to the same server using standard communication formats, so you can switch between your phone, computer, or command line seamlessly.
How It Works
When you run Tinode, you're running a server that handles all the core messaging features: one-on-one chats, group conversations, read receipts, typing notifications, file attachments, and voice or video calls. Messages sync across all your devices automatically. The server can store files like photos and documents either on your own computer or on cloud storage like Amazon S3. You can control who sees what with granular permissions, block unwanted users, and even set up chatbots or plugins to extend functionality.
The project is built to scale: if you get a lot of users, you can run multiple servers that work together with automatic failover, meaning if one goes down, another takes over. It supports several popular databases—MySQL, PostgreSQL, MongoDB, or RethinkDB—so you can choose what works best for your situation.
Who Would Use This?
Any organization that wants full control over its messaging infrastructure would benefit from this. A company might run Tinode for internal communication to avoid relying on third-party services. A privacy-conscious group could self-host it in their own country. Governments or nonprofits building communication tools could use it as a foundation. Even developers building custom messaging features into their own apps can use the client libraries and APIs provided.
The project is mature enough to use in production but still actively developed. There's a public demo you can try right now at web.tinode.co, and the code is open source under a free license, so you can inspect, modify, and redistribute it.
Where it fits
- Run your own private messaging server instead of depending on a third-party chat provider.
- Add chat, group conversations, and calls into your own app using the client libraries and APIs.
- Self-host a federated messaging network that can talk to other Tinode servers.
- Give a company or nonprofit full control over its internal communication infrastructure.