Overall rating

6.8

Stars: 12240

Contributors: 56

Tinode is a modern messaging platform designed for real-time communication. It supports text, media, and file exchanges, offering features like typing indicators, read receipts, and rich-text formatting. Tinode is optimized for speed and scalability, making it suitable for both personal and professional use. It supports various messaging patterns, including one-on-one chats, group discussions, and public channels.

Key Features

  • Multiple native platforms:
    • Android (Java)
    • iOS (Swift)
    • Web (React.js)
    • Scriptable command line (Python)
  • User features:
    • One-on-one and group messaging.
    • Video and voice calls. Voice messages.
    • Channels with unlimited number of read-only subscribers.
    • All chats are synchronized across all devices.
    • Granular access control with permissions for various actions.
    • User search/discovery.
    • Rich formatting of messages markdown-style: *style* → style, with inline images, videos, file attachments.
    • Forms and templated responses suitable for chatbots.
    • Verified/staff/untrusted account markers.
    • Message status notifications: message delivery to server; received and read notifications; typing notifications.
    • Most recent message preview in contact list.
    • Server-generated presence notifications for people, group chats.
    • Forwarding and replying to messages.
    • Editing sent messages.
  • Administration:
    • Granular access control with permissions for various actions.
    • Support for custom authentication backends.
    • Ability to block unwanted communication server-side.
    • Anonymous users (important for use cases related to tech support over chat).
    • Plugins to extend functionality, for example, to support moderation or chatbots.
    • Scriptable command-line tool for server administration.
  • Performance, reliability and development:
    • Sharded clustering with failover.
    • Storage and out of band transfer of large objects like images or document files using local file system or Amazon S3 (other storage systems can be supported with media handlers).
    • JSON or protobuf version 3 wire protocols.
    • Bindings for various programming languages:
    • Choice of a database backend. Other databases can be added with by writing adapters.
Activity

Last update: Jan 27, 2025

  • Commits (last week)

    0

  • Resolved issues (last week)

    0

  • Merged PRs (last week)

    0

Maturity

Last update: Jan 29, 2025

  • Age

    10 years 2 months

  • Stability

    ALPHA

Information

Funding

Has commercial version

Programming languages

Go
Python
Shell
templ

Tags

chat
chatserver
go
chat-application
messaging-api
video-call
telegram
instant-messaging
golang
chatapp
webrtc
video-conferencing
chatbots
video-chat
xmpp
whatsapp
webchat-server
messaging
messenger
collaboration