Ping Messenger
Личные сообщения, голосовые и видеозвонки, пространства для сообществ - с нативными приложениями и собственной серверной платформой.


Задача проекта.
Ping - мой продукт для общения: личная переписка, голосовые и видеозвонки, голосовые сообщения, фотографии и файлы, а также пространства, группы и каналы. Я работаю над интерфейсами приложений, сервисами связи и хранения данных, развёртыванием и публичным сайтом. Разрабатываю и поддерживаю проект с помощью ИИ, проверяя изменения в коде и на устройствах.
Что я сделал
в этом проекте.
Приложения и удобство общения: нативный Android на Kotlin, iPhone на Swift и разработка настольных клиентов на C++. Текст, голосовые сообщения, фотографии, видео и документы в едином интерфейсе.
Голосовые и видеозвонки на WebRTC: экран звонка, камера и микрофон, выбор аудиовыхода, сигнализация и восстановление при смене соединения.
Приватность и сеансы: интеграция сквозного шифрования текста личных сообщений, управление подключёнными устройствами и настройками видимости профиля и номера телефона.
Пространства, группы и каналы для сообществ, с разделением личной переписки и общего общения.
Микросервисный бэкенд на Go: обмен данными в реальном времени, обработка событий и хранение. Настройка Kubernetes, пайплайнов GitLab CI/CD и развёртывания через Argo CD.
Многоязычный сайт my-ping.app и PingBook: каталог статей, поиск, навигация и интеграция OpenAI API для подготовки материалов.
Внутри продукта.
Откройте скриншот, чтобы рассмотреть детали.







Что работает
за экраном.
Сквозное шифрование (E2EE). Текст личных сообщений шифруется на устройстве отправителя и расшифровывается на устройствах участников переписки. Это описание не распространяется на звонки, файлы, группы, каналы и пространства.
Связь в реальном времени. WebSocket соединяет приложения с сервисами сообщений; WebRTC обеспечивает аудио и видео. Сигнализация и согласование соединения отделены от доставки переписки.
Распределённая архитектура. Микросервисы на Go разделяют задачи сообщений, присутствия, уведомлений и файлов. Kafka/Redpanda участвует в обработке событий; ScyllaDB и Redis используются для хранения и оперативного состояния в зависимости от сервиса.
Поставка обновлений. Сборка образов и проверки выполняются в GitLab CI/CD; Kubernetes и Argo CD управляют развёртыванием сервисов. Работа включает наблюдаемость, диагностику и проверку совместимости клиентов.
Нативные клиенты. Kotlin, Swift и C++ позволяют адаптировать навигацию, разрешения камеры и микрофона, интеграцию с системой и работу медиа под каждую платформу.
В кейсе показаны возможности продукта и используемые технологии. Внутренние маршруты, настройки сети, ключи и закрытые эксплуатационные детали не публикуются.
Приложение для Android опубликовано в Google Play. Продолжается разработка версий для iPhone, macOS и Windows, а также поддержка серверной части и сайта.
Ваш следующий проект
начинается с
разговора.
Идея, инструмент для команды или продукт, который пора развивать. Расскажите, что вы задумали.
Также рассматриваю предложения о работе. Мой профиль LinkedIn