
Tinode
Tinode is an open source instant messaging platform with a Go backend, web/mobile clients, JSON WebSocket and gRPC APIs, and support for one-to-one and group chat.

Tinode is a full-stack instant messaging platform designed for building modern chat applications. It provides a Go-based server, official clients for web and mobile, and APIs that support custom integrations such as chatbots and automated agents.
Key Features
- One-to-one messaging, group chats, and broadcast-style channels with read-only subscribers
- Real-time delivery, read receipts, typing indicators, and presence notifications
- Rich message content: markdown-style formatting, inline media, and file attachments
- Voice and video calls, plus voice messages
- Granular per-topic access control and server-side blocking controls
- Extensible architecture with plugins for features like moderation and chatbots
- JSON over WebSocket (with optional long polling) and Protobuf over gRPC
- Pluggable database layer with support for PostgreSQL, MySQL/MariaDB, and MongoDB
- Media/file handling via local filesystem or S3-compatible storage backends
Use Cases
- Building a custom consumer or community chat app (mobile + web)
- Adding in-app messaging, support chat, or anonymous chat to a product
- Developing bot-driven workflows and integrations using the messaging APIs
Limitations and Considerations
- Federation and end-to-end encryption are listed as planned features and may not be available
- Some advanced capabilities (for example, full-text message search) are planned rather than included by default
Tinode fits teams that want an embeddable messaging backend with strong real-time features and multiple official clients. Its API options and extensibility make it suitable for both standalone chat products and messaging features inside existing applications.













