Собственный проект · Активен

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 может положительно влиять на мир именно как связующая среда: показывать технологии человеческим языком, помогать людям осваивать инструменты без культа «успешного успеха» и хранить то, что обычно исчезает в ленте. Но мне важна и вторая половина: то, как это сделано. Архив здесь не «контент», а данные с происхождением и проверкой, граф — не картинка, а утверждения с доказательствами, а пространство — ещё один способ читать тот же корпус, а не украшение. Отсюда и растут следующие линии: кейсы, инструменты и проекты вроде тех, что собраны рядом на этой странице.

Ссылки

Главы и результаты проекта

Материалы собраны здесь в контексте собственной инициативы, а не среди заказных работ.

2026Масленица в СлободскомСоздать социальный VR-опыт на платформе Somnium Space, который даёт европейской аудитории возможность погрузиться в русскую масленичную традицию — на фоне реальной архитектуры Соборной площади города Слободского.2026Цифровой сад staniverse.xyzСайт-портфолио обычно делают по AIDA: привлечь внимание, удержать интерес, вызвать желание, побудить к действию. Формы захвата email, SEO-текст, call-to-action на каждом экране. Я пошёл в другую сторону. Мне не нужен бы…