Задача: Разработать и запустить функционал общения и помощи на платформе

Разработать и запустить функционал общения и помощи на платформе

Реализовать поток «Попросить помощи» / «Я на связи» с быстрым откликом, текстовым общением и встроенным созвоном.

Цель

Добавить на платформу лёгкий слой живой помощи без превращения его в отдельный маркетплейс репетиторов.

Базовая модель:

  • пользователь может нажать «Попросить помощи»;
  • пользователи, которые готовы помочь, включают статус «Я на связи»;
  • активным помощникам приходит запрос;
  • первый, кто принимает запрос, забирает его;
  • дальше общение продолжается прямо на платформе;
  • при необходимости стороны переходят в аудио/видеозвонок;
  • после завершения взаимодействие сохраняется в истории.

Основной пользовательский поток

  1. Помощник включает статус «Я на связи».
  2. Пользователь нажимает «Попросить помощи».
  3. Создаётся запрос с кратким контекстом: предмет, тема, вопрос или текущая задача.
  4. Всем подходящим активным помощникам отправляется realtime-уведомление.
  5. Первый принявший запрос получает его эксклюзивно; у остальных он исчезает.
  6. Открывается комната общения.
  7. В комнате доступны:
    • текстовый чат;
    • отправка ссылок и изображений;
    • аудио/видеозвонок;
    • демонстрация экрана при необходимости.
  8. После завершения запрос и история общения остаются доступными участникам.

Экономическая логика

Платформа не берёт комиссию с помощи или дальнейшего индивидуального обучения.

Для помощника ценность — потенциальный лид:

короткая помощь сейчас → доверие → возможный долгосрочный ученик напрямую.

Помощник сам решает:

  • когда включать статус «Я на связи»;
  • на какие запросы отвечать;
  • сколько времени помогать;
  • продолжать ли общение и обучение вне разового запроса.

Для пользователя ценность — получить живую помощь именно в момент затруднения.

Для платформы ценность — усиление полезности и удержания без обязательного построения отдельного бизнеса на комиссиях с уроков.

Что нужно реализовать

Presence

  • статус «Я на связи»;
  • TTL/автоматическое истечение статуса;
  • отображение доступности;
  • возможность быстро выключить статус.

Запрос помощи

  • создание запроса;
  • минимальный контекст запроса;
  • маршрутизация подходящим активным помощникам;
  • атомарное принятие запроса первым откликнувшимся;
  • отмена запроса пользователем;
  • таймаут, если никто не ответил.

Realtime

  • мгновенная доставка события о новом запросе при открытой вкладке;
  • обновление статусов запроса без перезагрузки;
  • синхронизация состояний между участниками.

Комната общения

  • текстовые сообщения;
  • ссылки;
  • изображения/вложения;
  • история сообщений;
  • статус участника;
  • кнопка перехода в звонок.

Звонок

WebRTC/STUN/TURN-инфраструктура уже существует, поэтому задача здесь — интеграция её в пользовательский поток:

  • создание комнаты;
  • подключение участников;
  • аудио;
  • видео;
  • демонстрация экрана;
  • корректное завершение сессии.

История

  • список обращений;
  • статус: ожидает / принят / завершён / отменён;
  • участники;
  • дата и время;
  • доступ к истории комнаты.

Принципы

  • никаких обязательных сценариев сложнее необходимого;
  • вход в помощь должен занимать секунды;
  • помощник не обязан постоянно находиться на странице;
  • статус «Я на связи» означает готовность получать обращения, а не обязательство отвечать;
  • функционал должен быть полезен уже при небольшом числе активных помощников;
  • встроенное общение должно быть естественным продолжением платформы, а не отдельным продуктом.