Маркетолог без опыта программирования создал для Twitch игру с ИИ-детектором смеха
Бывший маркетолог, уволившись, за шесть недель собрал с помощью ИИ-агентов интерактивное шоу для Twitch, в котором нейросеть в реальном времени распознаёт эмоции участников. Проект уже прошёл первый тестовый эфир, а нарезки в TikTok набрали 600 тысяч просмотров за четыре недели.
Автор проекта, по профессии маркетолог, решил сделать развлекательную игру для друзей из разных стран, где главное правило — нельзя смеяться. Формат напоминает популярные шоу вроде «Большого шоу» или японского Documental: участники смотрят смешные видео и выполняют задания, а проигрывает тот, кто засмеётся первым. Изначально для синхронизации видео использовался Zoom с демонстрацией экрана, но задержка приводила к тому, что у одного ролик уже заканчивался, а у другого ещё не начинался. Тогда автор решил разработать собственное решение, которое позже выросло в полноценную платформу для стриминга с элементами искусственного интеллекта. До этого он пробовал классический способ судейства — воду во рту, но от него пришлось отказаться: с водой нельзя разговаривать, а часто смешны не сами видео, а разговоры и взаимодействие между участниками. Кроме того, в шоу есть и другие раунды, помимо просмотра роликов, поэтому нужен был универсальный механизм. Так родилась идея отслеживать смех через камеру, которая и без того всегда включена.
Ключевая особенность проекта — отказ от передачи видеопотока по сети. Каждый участник заранее скачивает ролик, а сервер лишь сообщает точное время старта, синхронизируя часы через WebSocket. Это позволяет добиться расхождения между игроками менее одного кадра. Для захвата видео и голоса используется LiveKit, а распознавание эмоций происходит прямо в браузере: модель анализирует 52 мышечных признака лица и передаёт на сервер только числовые данные, что снижает нагрузку и сохраняет приватность. Из этих признаков вычисляются смех, злость и страх. Однако, как признаётся разработчик, нейросеть пока несовершенна — она путает смех с произнесением гласной «А», глотком чая и другими мимическими проявлениями. Кроме того, требуется индивидуальная калибровка под каждого игрока, поскольку мимика у людей разная. Автор называет эту часть самой неожиданно сложной во всём проекте и обещает посвятить калибровке отдельный материал.
Помимо детектора эмоций, в шоу реализован автоматический сбор видео из Instagram Reels, которые зрители присылают в личные сообщения. Ролик попадает в очередь в течение минуты. Однако с комментариями возникла сложность: Instagram не предоставляет программам данные о количестве лайков, поэтому автоматически собрать топ по популярности не удалось. После пяти неудачных попыток автор нашёл шестой способ — ручной отбор. Визуальная часть эфира собрана как обычная веб-страница, которую OBS захватывает как окно. Это упрощает компоновку сцены из множества элементов: камер, видео, комментариев, анимации «сердец» и банка. Из того же кода генерируется вертикальная версия для TikTok, где автоматический режиссёр переключает камеры на говорящего или того, кто близок к смеху. Остаётся и одна нерешённая загадка: иногда картинка замирает ровно в момент, когда ловят смех, чаще в одном из режимов.
Идея автоматического режиссёра возникла из необходимости монтировать вертикальные нарезки. Разработчик заметил, что эмоции отслеживаются много раз в секунду, а микрофоны фиксируют голос, поэтому можно создать набор правил: показывать того, кто говорит, а если все молчат — того, кто ближе всех к срыву. Эта функция может быть полезна и для вебинаров. Первые загруженные в TikTok ролики неожиданно начали набирать просмотры, что подтолкнуло автора к мысли о стриминге на Twitch с интерактивом для зрителей. Так появился «банк смеха»: когда кто-то смеётся, сумма увеличивается, а в конце стрима разыгрывается среди зрителей. Также внедрены прогнозы «засмеётся или нет» с билетами за верные ответы и оценка рилсов. Важно, что автор отказался от использования баллов канала Twitch, так как правила платформы запрещают награды, похожие на азартные игры. Сам автор имеет опыт стримов: около пяти лет назад он работал в Wargaming и проводил эфиры, что помогло ему продумать механики удержания аудитории.
Проект написан непрофессиональным программистом с активным использованием ИИ-агентов. За шесть недель сделано более 500 коммитов, объём кода и тестов составляет около 100 тысяч строк. В шоу могут участвовать ведущий и до четырёх гостей. На данный момент поддерживаются три реакции: смех, злость и страх. Первый тестовый эфир уже проведён, а нарезки в TikTok за четыре недели собрали 600 тысяч просмотров. Автор планирует выпустить серию технических статей с подробностями реализации каждого компонента и приглашает сообщество к обсуждению и улучшению проекта. Он честно признаёт, что агенты ломали код по дороге, и обещает рассказать об этом отдельно.
В контексте рынка подобные решения находятся на стыке стриминговых технологий и компьютерного зрения. Существующие аналоги, например, для видеоконференций, часто требуют передачи видеопотока на сервер и мощных вычислительных ресурсов. Здесь же ставка сделана на локальную обработку в браузере, что снижает задержки и повышает конфиденциальность. Однако точность распознавания эмоций остаётся открытым вопросом: ложные срабатывания на глоток или мимику могут портить игровой процесс. Тем не менее, проект демонстрирует, как энтузиаст без профильного образования способен создать работающий продукт с ИИ за короткий срок, используя современные инструменты автоматизации разработки.
Для российского рынка этот кейс показателен с точки зрения доступности технологий: даже непрофессиональный разработчик может собрать интерактивное шоу с ИИ, ориентированное на глобальную аудиторию Twitch и TikTok. В условиях ограниченного доступа к некоторым зарубежным сервисам автор использует LiveKit и собственные решения для синхронизации, что обходит инфраструктурные ограничения. Отраслевые эксперты отмечают рост интереса к локальному ИИ и браузерным вычислениям, что подтверждается этим проектом. В перспективе возможна интеграция с другими платформами и расширение набора эмоций, а также улучшение алгоритмов калибровки. Открытыми остаются вопросы масштабируемости на большее число участников и стабильности работы детектора в реальных условиях. Автор продолжает делиться техническими деталями и планами, что делает проект открытым для сообщества и потенциальных коллабораций.