Telepat — это открытая платформа и набор API для реализации систем синхронизации данных в реальном времени между клиентскими приложениями и сервером. Проект ориентирован на разработку чат-приложений, совместных редакторов и других интерактивных сервисов, требующих мгновенной доставки изменений, управления подписками и согласованного состояния между несколькими участниками. Telepat реализует модель объектов и подписок, позволяющую клиентам получать выборочные обновления и публиковать изменения через унифицированный интерфейс.
Исторически Telepat возник как ответ на потребность в простом и расширяемом решении для realtime-синхронизации вне привязки к конкретной инфраструктуре. Платформа сочетает в себе механизмы подписки на наборы данных, трансляции событий и управления правами доступа, предоставляя серверные и клиентские библиотеки для разных языков и сред выполнения. В общественной документации проект описывается как гибкая система, допускающая развертывание как в облачной, так и в локальной инфраструктуре.
- Realtime-синхронизация: поддержка передачи изменений в режиме реального времени с минимальной задержкой между источником и подписанными клиентами.
 - Модель подписок: селективная подписка на наборы данных и фильтры для получения только релевантных обновлений.
 - Управление состоянием: хранение и согласование текущего состояния объектов с возможностью восстановить состояние при подключении клиента.
 - Автоматическое вещание событий: система событий для оповещения о создании, изменении и удалении записей.
 - Клиентские библиотеки: готовые SDK для интеграции с фронтенд- и мобильными приложениями, упрощающие обработку подписок и обновлений.
 - Интеграция с бекендом: механизмы для интеграции с существующими базами данных и бизнес-логикой через плагины или промежуточные адаптеры.
 - Безопасность и доступ: возможности для настройки прав доступа и управления аутентификацией на уровне подписок и операций с данными.
 - Масштабируемость: архитектурные подходы и рекомендации для горизонтального масштабирования и балансировки нагрузки в распределённых развертываниях.
 - Форматы данных: поддержка передачи структурированных данных в форматах, совместимых с современными веб- и мобильными стек-технологиями.
 - Открытый характер: открытая документация и возможность внесения вкладов, при этом конкретные детали реализации и наборы функций могут отличаться между версиями и форками.