Skip to content
maksim zaytsev
Проекты

2026РаботаетПродукт

Next.js · TypeScript · PostgreSQL · Three.js · Twitch API

Moonst3ad.com

Двуязычный сайт Twitch-стримера: 3D-лобби, экономика на баллах канала, инструменты сообщества и админ-CMS.

Что делает

Одно место для всего вокруг Twitch-канала: публичный сайт на английском с русским зеркалом, галерея клипов, расписание стримов, плейлист записей с YouTube, гайды и новости по играм — их пишут в Markdown через админку. Самое интересное — слой сообщества. Зрители входят через Twitch и участвуют в лидербордах, аукционах, предсказаниях, челленджах и целях канала, и всё это оценивается в S3C — «St3ad Coins», виртуальной валюте, которой управляет канал.

Как устроено

Next.js с app router поверх PostgreSQL. Вход — Twitch OAuth 2.0 с JWT-сессией в cookie и тремя ролями: admin, mod, viewer. S3C живёт в append-only-леджере: ничего не обновляется на месте, баланс — сумма записей, поэтому спорный аукцион или сработавшую не туда награду можно проследить, а не спорить о ней. Награды за баллы канала приходят через EventSub-вебхук и зачисляют монеты с множителями по ролям. Telegram-бот обрабатывает команды администратора и постит анонсы стримов в канал; DonationAlerts даёт реальные данные о донатах; интеграция с YouTube откатывается на RSS, если ключ API не настроен. Главная страница — интерактивное 3D-лобби на Three.js.

  • Админка только на русском, и это осознанно: один оператор, один язык, меньше строк для поддержки
  • EventSub означает отсутствие поллинга — монеты падают в момент, когда зритель забирает награду