Задача: Разработать и запустить функционал общения и помощи на платформе
Разработать и запустить функционал общения и помощи на платформе
Реализовать поток «Попросить помощи» / «Я на связи» с быстрым откликом, текстовым общением и встроенным созвоном.
Цель
Добавить на платформу лёгкий слой живой помощи без превращения его в отдельный маркетплейс репетиторов.
Базовая модель:
- пользователь может нажать «Попросить помощи»;
- пользователи, которые готовы помочь, включают статус «Я на связи»;
- активным помощникам приходит запрос;
- первый, кто принимает запрос, забирает его;
- дальше общение продолжается прямо на платформе;
- при необходимости стороны переходят в аудио/видеозвонок;
- после завершения взаимодействие сохраняется в истории.
Основной пользовательский поток
- Помощник включает статус «Я на связи».
- Пользователь нажимает «Попросить помощи».
- Создаётся запрос с кратким контекстом: предмет, тема, вопрос или текущая задача.
- Всем подходящим активным помощникам отправляется realtime-уведомление.
- Первый принявший запрос получает его эксклюзивно; у остальных он исчезает.
- Открывается комната общения.
- В комнате доступны:
- текстовый чат;
- отправка ссылок и изображений;
- аудио/видеозвонок;
- демонстрация экрана при необходимости.
- После завершения запрос и история общения остаются доступными участникам.
Экономическая логика
Платформа не берёт комиссию с помощи или дальнейшего индивидуального обучения.
Для помощника ценность — потенциальный лид:
короткая помощь сейчас → доверие → возможный долгосрочный ученик напрямую.
Помощник сам решает:
- когда включать статус «Я на связи»;
- на какие запросы отвечать;
- сколько времени помогать;
- продолжать ли общение и обучение вне разового запроса.
Для пользователя ценность — получить живую помощь именно в момент затруднения.
Для платформы ценность — усиление полезности и удержания без обязательного построения отдельного бизнеса на комиссиях с уроков.
Что нужно реализовать
Presence
- статус «Я на связи»;
- TTL/автоматическое истечение статуса;
- отображение доступности;
- возможность быстро выключить статус.
Запрос помощи
- создание запроса;
- минимальный контекст запроса;
- маршрутизация подходящим активным помощникам;
- атомарное принятие запроса первым откликнувшимся;
- отмена запроса пользователем;
- таймаут, если никто не ответил.
Realtime
- мгновенная доставка события о новом запросе при открытой вкладке;
- обновление статусов запроса без перезагрузки;
- синхронизация состояний между участниками.
Комната общения
- текстовые сообщения;
- ссылки;
- изображения/вложения;
- история сообщений;
- статус участника;
- кнопка перехода в звонок.
Звонок
WebRTC/STUN/TURN-инфраструктура уже существует, поэтому задача здесь — интеграция её в пользовательский поток:
- создание комнаты;
- подключение участников;
- аудио;
- видео;
- демонстрация экрана;
- корректное завершение сессии.
История
- список обращений;
- статус: ожидает / принят / завершён / отменён;
- участники;
- дата и время;
- доступ к истории комнаты.
Принципы
- никаких обязательных сценариев сложнее необходимого;
- вход в помощь должен занимать секунды;
- помощник не обязан постоянно находиться на странице;
- статус «Я на связи» означает готовность получать обращения, а не обязательство отвечать;
- функционал должен быть полезен уже при небольшом числе активных помощников;
- встроенное общение должно быть естественным продолжением платформы, а не отдельным продуктом.