staniverse
staniverse — это мой авторский медиаконтур про GenAI, XR, автоматизацию и цифровую культуру. Теперь это ещё и собственный дом: статический сайт на Astro, где поток из Telegram, работы, проекты и статьи живут в одном корпусе со связями
Суть
staniverse — это мой авторский медиаконтур про GenAI, XR, автоматизацию и цифровую культуру. По сути это уже не просто канал, а инфраструктура: Telegram для живого потока, YouTube для длинных форматов и собственный сайт, где всё это не растворяется в ленте, а получает адрес, тему и связи с остальными материалами.
Статус и горизонт
Проект активен. Горизонт — держать не набор площадок, а одну систему: поток, архив, связи между материалами и пространственный вход внутрь этого архива. Сайт ради этого переписан с нуля: статическая сборка на Astro, контент — типизированные коллекции в репозитории, связи — данные с доказательствами, а не абзац «как мы к этому пришли». Прежний сад на Markdown нужен теперь только мигратору: опубликованный сайт от него не зависит.
Почему сейчас
Большая часть хорошего контента умирает внутри ленты. У этого есть скрытая цена: у поста без постоянного адреса нет ни цитаты, ни связи, ни шанса найтись через год. staniverse для меня важен как попытка собрать медиасистему, где поток, архив, знания и будущие проекты связаны между собой, а не живут как случайные обломки публикаций. Это одновременно авторское медиа, исследовательская среда и база, из которой растут более крупные линии.
Цели
- Публично думать и говорить о технологиях без инфоцыганства
- Делать бесплатные образовательные материалы и гайды
- Собрать из канала и архива устойчивый цифровой сад
- Положительно влиять на мир через просвещение, открытые инструменты и осмысленное применение ИИ
Как устроен сайт
Astro собирает статику: посетителю уходят готовые страницы, JSON графа и поисковый индекс, а к языковой модели не обращается ни браузер, ни сервер. Содержание живёт в том же репозитории в типизированных коллекциях — работы, проекты, статьи, эксперименты, публикации, — и схема не даёт случайно смешать сущности. Работа и собственный проект для меня намеренно разные вещи: работа — кейс с рамкой «задача → решение → результат», проект — живая система со статусом и следующим шагом.
Связи — отдельный типизированный граф, а не подпись под текстом. У каждого ребра есть источник и цель, тип, доказательство, происхождение, уверенность и статус проверки, а направление сохраняется. Обычная ссылка на Telegram становится ребром, но не склеивает посты: в цепочку объединяются только reply, альбомы и явные маркеры продолжения. Причинная связь требует прямого свидетельства — тематическая близость сама по себе не делает один материал продолжением другого.
Сад — каталог всего корпуса: поиск, сортировка по датам, вид «список» или «карта» и фильтры по формату, теме, каналу, связанному проекту и наличию медиа, где внутри измерения действует «или», а между измерениями — «и». Фильтр проекта строится по реальным рёбрам, а не по совпадению слова в посте. Выбор живёт в адресе страницы: ссылку можно отправить, а «назад» и «вперёд» возвращают прежний набор. Карта показывает связи выбранного набора и различает слои: сплошная линия — доказанная связь, пунктир — тематическая рекомендация.
Тема — отдельная ось, не хештег: словарь с устойчивыми идентификаторами, семействами и синонимами, а исходный хештег поста сохраняется как происхождение. Поэтому редкие линии вроде embodied AI, social VR или intimate tech не растворяются в общих категориях.
Архив Telegram
Полная выгрузка Telegram Desktop стала локальным baseline, и дальше канал обновляется через Telethon и MTProto: скрипт читает lastMessageId, забирает только более новые сообщения и объединяет архив по message_id — новые добавляются, отредактированные заменяются, неизменные не дублируются. Текст, entities, цепочки reply, альбомы, ссылки и медиа сначала приводятся к нейтральной структуре данных, и только потом из них собираются страницы. Структурные Telegram-статьи разбираются из rich_message без модели.
Медиа проходит свою обработку: изображения — в WebP, видео — в H.264 MP4 до 960 px, аудио — в MP3 96 кбит/с, документы копируются как есть. Аудит не пропускает файл тяжелее 9,5 МБ и витрину тяжелее 250 МБ, поэтому в Git лежит готовая оптимизированная витрина, а сырой архив (порядка 3,7 ГБ) остаётся вне репозитория. Авторский текст при этом не редактируется: меняется только служебная разметка вокруг него.
Обновление идёт по расписанию: systemd-таймер запускает выгрузку четыре раза в день и догоняет пропущенные запуски после сна. Скрипт коммитит только страницы публикаций и медиавитрину, поэтому незакоммитленная работа в других путях в коммит не попадает. Отдельная тонкость: материализация перезаписывает страницы всех публикаций, поэтому после обновления скрипт возвращает на место страницы, которых этот запуск не касался, — иначе ночная синхронизация тихо понижала бы выверенную разметку сотен старых постов.
Разметка и авторский контроль
Разметка — отдельный и заменимый слой, и языковая модель не переписывает мой текст. Задание привязано к тройке «идентификатор + хеш текста + версия промпта», а ответ возвращается вместе с моделью, версией промпта и уверенностью.
Темы и связи считаются разными проходами. Темы сверяются с контролируемым словарём. Связь получает только тот кандидат, которого источник явно называет или на который ссылается, и к предложению требуется точный фрагмент-доказательство из текста — поэтому тематическое сходство не просачивается в граф фактов.
Каноническим не становится ничего, пока предложение не принял человек: у связи есть статус проверки, а ожидающие и отклонённые гипотезы не выдаются за опубликованный факт. Решение привязано к хешу источника и на отредактированный пост не переносится, а принятая разметка переживает повторные синхронизации, пока текст не изменился.
Перед прогоном по всему корпусу есть пилот на 30 источниках: короткие и длинные посты, старые и новые, с хештегами и без, отрицательные примеры. Полный проход включается явной командой после приёмки пилота, а не по умолчанию. При этом архив не зависит от сети и ключа: детерминированный локальный слой сразу даёт новой публикации категории и связи по точным именам, а ключи провайдера живут только в локальном окружении и не попадают в клиентскую сборку.
Два языка
Русская версия — авторский оригинал. Ключевые маршруты живут и по-английски: главная, работы, проекты, статьи, лаборатория с экспериментами, «обо мне» и контакты — со связкой hreflang, собранной из одной таблицы соответствий, а не из правок в шаблонах. Структурные факты английской страницы (статус, домены, дата обновления) читаются из русской записи, а не дублируются вручную.
Архив, темы и вселенная пока существуют только по-русски. Это честнее, чем машинный перевод, за которым не стоит автор, и это один из ближайших участков работы.
Вселенная
/universe/ — полноэкранная карта корпуса: публикации, работы, проекты и статьи становятся звёздами, а выбранная звезда открывает контекст и свои живые связи. Экранный режим работает на десктопе мышью и клавиатурой, на телефоне — тачем и виртуальным джойстиком.
Дальше начинается XR. В VR вход идёт через immersive-vr с local-floor, bounded-floor и hand tracking там, где платформа их отдаёт. В AR — через immersive-ar с hit-test и dom-overlay, а anchors подключаются по поддержке. Масштаб размещения выбирается на месте: «Стол» ставит созвездие перед тобой, «Комната» и «Улица» разворачивают его вокруг, а перенести, повернуть и изменить размер можно уже после размещения. Доступность определяется ответами браузера на isSessionSupported, а не списком устройств: телефон без immersive-ar остаётся в тач-версии и не получает обещание AR, которого не будет.
Звук генеративный, синтезируется на месте через Web Audio и по умолчанию выключен — его включает сам посетитель. При reduced motion фоновая автодинамика убирается и камера не начинает движение сама. Для iPhone AR подключается отдельным модулем 8th Wall после явного нажатия: ядро движка открыто под MIT, а бинарный SLAM-модуль лицензируется отдельно, поэтому открытым я называю код, а не весь стек. Камера открывается только по явному входу в AR и освобождается при выходе, а обычный посетитель сада не получает ни трекинг, ни бинарник.
Лаборатория
/lab/ — отдельный каталог экспериментов: у каждого опыта есть адрес, где он запускается, и страница с разбором механики, а фасеты каталога — тип, платформа, возможности, стек — выводятся из самих записей, поэтому новая карточка добавляет свои значения сама.
Три AR-демо на 8th Wall — «Портал», «Морской бой» и «Knockdown» — и пять опытов на Google XR Blocks — REALITY//FIELD, WEATHER//ROOM, CITY//ORBIT, SOUND//SPACE и ECHO//ROOM — живут в открытом внешнем репозитории stanleymarch/xr-experiments и раздаются с GitHub Pages; здесь остаются каталог, ссылка на запуск и разбор механики. Google XR Blocks рассчитан прежде всего на Quest 3: Safari на iOS может не отдавать нужные возможности WebXR, поэтому эти опыты там могут не запуститься. «Симулятор Стэнли» на Immersive Web SDK и «Параметрик» на Next.js запускаются по своим адресам, «Тяга» — скетч на p5.js в OpenProcessing.
Лаборатория не входит в сборку сайта: у эксперимента свои зависимости, свой lock-файл и свой базовый путь, поэтому чужой опыт не тянет стили и шрифты основного сайта. Код опытов может жить где угодно — каталог, ссылки на запуск и разборы остаются частью staniverse.
Площадки и форматы
- Telegram как поток коротких мыслей, наблюдений и быстрых реакций;
- YouTube как слой длинных форматов и визуального объяснения: в архив попадают только ролики с подтверждённым авторством канала, и чужой плеер в страницу не встраивается — видео открывается на своей странице, а первоисточник остаётся ссылкой;
- статьи и Telegram-статьи как долгоживущие тексты, которые нечего пересказывать в ленте;
- лаборатория как раздел, где опыт можно не только прочитать, но и запустить;
- вселенная как пространственный вход в тот же корпус, а не отдельная витрина;
- проектные и кейсовые страницы как мост между медиа, портфолио и будущими продуктами.
Продакшн
Отдельная линия проекта — производство контента: темы и визуальная подача, запись и монтаж материалов, образовательные и объясняющие форматы, эксперименты с GenAI, виртуальными персонажами и XR-инструментами, технический пайплайн записи и производства. Продюсерский кейс датирован 2023 годом и в портфолио отдельно больше не живёт: он описывает саму работу внутри staniverse, и его старый адрес ведёт сюда.
Контент строится вокруг нескольких линий: техноблог о GenAI и XR, объясняющие материалы и туториалы, авторские эксперименты с виртуальными персонажами, видео, звукогенерацией и автоматизациями. Внутри этого контура я не просто записываю и монтирую ролики, а проектирую воркфлоу под конкретный формат.
Для части материалов использовался полный стек GenAI-инструментов: сценарий, графика, видеофрагменты, голос, музыка и монтажная доработка. Это не просто интерес к технологиям, а умение превращать их в медиаформат: не «рассказать новость», а показать, как это работает в реальном пайплайне.
Стек и инструменты
- Сайт: Astro со статической сборкой, TypeScript и схемы коллекций, three.js, WebXR и Web Audio API
- Данные: Python и Telethon через MTProto, нормализация и материализация на TypeScript, расписание на systemd, аудит контента и медиа
- Доставка: GitHub Actions собирает сайт и синхронизирует его в Yandex Object Storage; GitLab Pages остаётся только временным откатом на время переезда
- Разметка: языковые модели как заменяемый слой — дешёвый профиль через Responses API со Structured Outputs для массовых заданий и более сильная модель для длинных и неоднозначных цепочек
- Лаборатория: Google XR Blocks, three.js, 8th Wall, A-Frame, Immersive Web SDK, p5.js, Next.js
- Продакшн: OBS, Unity, VRChat SDK, GenAI-инструменты для сценария, графики, видеофрагментов, голоса и музыки (ChatGPT, Flux, Minimax, ElevenLabs, Suno)
Что уже сделано
- Сформирован Telegram-канал и YouTube-направление, у видео подтверждено авторство канала
- Сайт переписан на статический Astro: типизированные коллекции, один граф связей на все страницы, сад с фильтрами и картой
- Архив канала перенесён в корпус вместе с медиа: сотни публикаций получили адреса, темы и связи
- Появились большие материалы и гайды, включая тексты про виртуальных помощников и AI-агентов
- Работает слой разметки с доказательствами и ручной проверкой, а импорт архива при этом не зависит от модели
- Работает двуязычная поверхность, вселенная и лаборатория
- Старые адреса прежнего сада — кейсы, лаборатория, статьи, посты и теги — обслуживает карта редиректов из снимка опубликованного индекса, поэтому переезд не ломает входящие ссылки
- Проект стал источником для кейсов, исследовательских заметок и будущих продуктовых идей
Ближайший фокус
- довести англоязычную поверхность до архива, тем и вселенной
- после приёмки пилота пройти полным проходом по корпусу и разобрать предложенные связи руками, а не пачкой
- уточнять словарь тем, чтобы редкие линии не растворялись в общих категориях
- продолжать лабораторию: следующая ступень — опыты с ИИ и бэкендом, а не только рендер
- переводить сильнейшие посты в формат долгоживущих статей и страниц вместо того, чтобы оставлять их в потоке
- оформить проект так, чтобы он был понятен не только читателю, но и возможным соавторам, партнёрам и заказчикам
- определить, какие производственные роли со временем стоит усиливать: монтаж, дизайн, ресёрч, дистрибуция
Навыки и роли
- tech communication
- авторское медиа
- образование через контент
- построение собственной knowledge system
- проектирование данных и пайплайнов
- граф связей и его пространственная подача
- техноблогинг
- образовательный видеопродакшн
- гибридное использование AI-инструментов
- разработка авторских форматов вокруг сложных технологий
- монтаж и упаковка цифровых экспериментов в понятный контент
Общественная польза
- Бесплатные гайды и объяснения сложных технологий для широкой аудитории
- Популяризация открытых и более осмысленных цифровых практик
- Связь между технологиями, культурой и сохранением наследия
- Среда, из которой вырастают проекты вроде
MetaVyatka,Заповедной Вятки,Albina, Mnemoform (раньше Parametrick) иOmniPub
Результаты / потенциал
staniverse может положительно влиять на мир именно как связующая среда: показывать технологии человеческим языком, помогать людям осваивать инструменты без культа «успешного успеха» и хранить то, что обычно исчезает в ленте. Но мне важна и вторая половина: то, как это сделано. Архив здесь не «контент», а данные с происхождением и проверкой, граф — не картинка, а утверждения с доказательствами, а пространство — ещё один способ читать тот же корпус, а не украшение. Отсюда и растут следующие линии: кейсы, инструменты и проекты вроде тех, что собраны рядом на этой странице.
Ссылки
Главы и результаты проекта
Материалы собраны здесь в контексте собственной инициативы, а не среди заказных работ.