← Дашборд

Roadmap проекта — июнь → сентябрь 2026

От MVP до передачи клиенту · дедлайн — конец сентября 2026 · путь: аниме → Telegram / TikTok / Shorts → Окно печати → Printology → безопасность → сдача

Сделано
Запланировано
Июнь → 2 июля · сделано
16 июня — веб-морда, гейт-пароль, карточка тренда = боту, фильтры, лимит 100, чистка старых ✅
17 июня — качество AI-выдачи, батчи по 20, чистка каналов, срезы динамики каждые 2 ч ✅
18 июня — кошачий лоадер, вкладка «Всплески», сквозные фильтры, лёгкие спрайты ✅
19 июня — Printology (6 промтов), платные реакции ⭐ Stars, дизайн-система кнопок ✅
21 июня — TikTok-модуль: парсинг Creative Center, обложки, график, страница tiktok.html ✅
24 июня — план роадмапа, 20 вопросов воркшопа, аудит формулы всплеска, дизайн-консистентность ✅
29 июня — слияние веток, переезд на OpenRouter, Printology v2 (редактор + картинки), цены ₽ ✅
1 июля — интервью с Алиной, рейтинг по разделам на дашборде ✅
2 июля — YouTube Shorts, «Окно печати», приоритет аниме, МСК-время, категория «Книги», избранное ⭐ и экран сравнения «Выборка» ✅
Июль · динамика и продукт
3–11 июля — график роста тренда во времени в карточке (срезы уже пишутся каждые 2 ч) динамика
14–18 июля — расширить формулу всплеска: репосты + реакции + комментарии, а не только просмотры динамика
21–25 июля — нишевый индекс: «прорыв для своей ниши» рядом со скором (без бустов в самой формуле) продукт
Август · новые источники сигнала
4–8 авг — аудит остальных категорий каналов (игры / кино / шоу-биз / политика / спорт), как для аниме источники
11–15 авг — семантический кросс-платформенный матчинг «Окна печати»: ловить тренд сразу на 2–3 площадках источники
18–22 авг — трендовые звуки TikTok + три рынка TikTok (Запад / РФ / Китай, Запад впереди ~2 недели) источники
25–29 авг — ещё источники: экранизации (Amazon / Netflix), музыка / исполнители, кросс-нишевые всплески источники
Сентябрь · безопасность и передача клиенту
1–5 сент — серверная авторизация вместо клиентского пароля + защита API (rate-limit, авторизация эндпоинтов) безопасность
8–12 сент — аудит секретов + ротация всех ключей (вкл. OpenRouter), проверка истории git на утечки безопасность
15–19 сент — серверная гигиена (SSH по ключам, firewall, порты) + заголовки безопасности (HSTS, CSP) безопасность
22–26 сент — итоговый security-review всего проекта + чек-лист готовности к передаче безопасность
29–30 сент — 🏁 передача проекта клиенту ДЕДЛАЙН

To-Do & Done

Сверху — разбор встречи с креаторами 16 сентября, следом разбор встречи 3 сентября: что просили и как это предлагается сделать. Ниже — прежний список задач по темам (без фаз). Разложено по датам до конца сентября — на вкладке «Roadmap». Сделанное сюда не дублируем — оно ниже, в дневных отчётах.

Со встречи с креаторами 16 сентября Алина и Мария — что мешает пользоваться
Полтора часа разговора с теми, кто работает в программе каждый день. Главная цифра осталась прежней: на Trend Hunter приходится около пятой части времени поиска, остальное — руками. Ниже всё, что прозвучало, разложено по темам: что просили и как предлагается сделать.
Конкуренты — самый важный запрос встречи
✅
📄 Ежедневный список новинок конкурента — главное название темы
Алина: «Мне главное наименование товара». Артикул и ссылка второстепенны — по названию она сразу видит тему («Индиана Джонс») и проверяет, есть ли такая у нас. Выгрузка нужна к утру: с неё начинается рабочий день. Как делаем: список с названиями и кнопка выгрузки файлом, названным по магазину, — чтобы файл можно было переслать и открыть в таблице. Работает с 20 сентября: на вкладке «Конкуренты» появился блок «Что конкуренты залили» — название товара, цена и картинка, карточка ведёт прямо на товар. Переключатель «за день / за неделю». Первый живой срез: 18 новинок за сутки — IVIPRINT 9, Marketplace Sales Management 6, Setner 2, OTHERS 1.
✅
🔢 Считать прирост за сутки, а не месячное окно Wildberries
Ключевая деталь, ради которой всё и затевается. У WB «новинками» считается всё, чему меньше месяца: сегодня 500 карточек, завтра ещё 400 — и он покажет 900. Алине нужно ровно 400. Как делаем: каждый вечер снимаем полный список артикулов магазина и сравниваем со вчерашним, «новое» считаем у себя. Плашки «new» у WB больше нет, и опираться на неё всё равно нельзя. Сделано: программа хранит свой список артикулов каждого магазина и сравнивает вечерний срез со вчерашним. Первый обход магазина — это точка отсчёта, он новинками не считается, иначе в первый день показалось бы «4500 новинок».
✅
🏪 Уточнить, за каким магазином вообще следим
Это блокирует всё остальное. Алина говорит про главного конкурента, который заливает около 500 карточек в день и держит почти 300 тысяч товаров. В нашем списке такого нет: самый крупный отслеживаемый магазин — 4,5 тысячи товаров. Похоже, мы всё это время смотрели не на тех. Нужна ссылка на магазин, а лучше список тех, кто действительно важен. Сделано 20 сентября: Алина назвала трёх главных конкурентов. Крупный магазин (~160 тыс. товаров) у нас уже был, но на WB подписан как «VSE», поэтому его не узнавали — теперь он называется «ИП Вельц С. С. · VSE». Добавлены второй магазин pink bus и «Каждому Своё». Все трое идут первыми в списке и помечены звездой.
✅
🕘 Вечерний срез в 21:00
Обсудили ещё 3 сентября: частник выкладывает круглосуточно, компания — до вечера, значит срез в 21:00 застаёт весь день целиком. Тогда к утру выгрузка готова. Сделано: срез стоит в расписании на 21:00 по Москве и отрабатывает сам.
⬜
🏁 Конкуренты — стартовая страница Алины и Марии
Как только выгрузка заработает, рабочий день начинается с неё. Учётки теперь личные, поэтому стартовую страницу можно поставить каждому свою, не трогая остальных.
Телеграм — сейчас из него берут 2–4 темы из 50
✅
🧱 Переверстать карточки плиткой, как в Твиттере и Музыке
Обе сказали одно и то же: в Твиттере удобно, потому что видно много тем сразу и тема читается с первого взгляда. В Телеграме карточки растянуты, приходится долго листать и вчитываться в каждую. Мария: «ни одной темы отсюда не взяла». Как делаем: тот же формат плитки, что в Твиттере и Музыке. Сделано 23 сентября: плитка стала того же формата, что в Твиттере и Музыке — отдельные карточки, на широком экране четыре в ряд. Лента из ста тем стала в три с половиной раза короче. Плитка теперь включается сама, а если переключить на список — браузер это запомнит.
✅
🙈 Спрятать лишнее в карточке
Просили оставить на виду только название, короткие подробности и рейтинг. Скорость роста, спрос, разрыв на маркетплейсе и кнопки Wordstat / WB / Ozon — убрать внутрь, чтобы они открывались, когда тема уже заинтересовала. Сделано 23 сентября: на карточке остались название, короткие подробности и рейтинг. Скорость роста, спрос и разрыв на маркетплейсе, кнопки Wordstat / Google Trends / WB / Ozon, источники и «Сгенерить принт» открываются кнопкой «Подробнее». Ничего не удалено — только убрано внутрь; работает и в списке, и в плитке.
✅
📰 Новости — в отдельную вкладку, из общей ленты убрать
Новостная повестка растёт быстрее всего и поэтому всегда наверху, хотя напечатать её нельзя. Речь прежде всего о Mash. Как делаем: вынести новости в свою вкладку — почитать, что происходит в мире, можно, но общую выдачу они больше не забивают. Изредка там всё же попадается годное (случай с флагом на Эмпайр-стейт), поэтому не выбрасываем совсем. Сделано 16 сентября: появилась вкладка «📰 Новости», и новостные темы ушли из общей ленты и из разбивки по категориям — счётчик «Все» теперь показывает то, что реально видно. Новостью считается тема, у которой все источники новостные; если её подхватил ещё и тематический канал, она остаётся в общей ленте. Сегодня из 100 тем новостными оказались 4.
✅
❓ Разобраться с вкладкой «Все подряд»
Мария: «что это такое и зачем оно тут?» Никто на встрече не вспомнил, зачем её делали, и тем 14 штук. Посмотреть, из чего она состоит, и скорее всего убрать. Разобрались 16 сентября: это не отдельная подборка, а корзина — темы, которые ИИ не отнёс ни к одной из девяти категорий. Убирать её значит прятать два десятка тем, поэтому вместо этого назвали честно: «Без категории». Теперь понятно, что там лежит и почему.
Радар X — любимый раздел, но половина мимо
✅
🇷🇺 Отсечь то, что к России не применимо
Алина: Твиттер — любимый раздел, но он выдаёт американский футбол и спортсменов, которых в России знают единицы. «Там не заработаешь». Русского Твиттера не существует, поэтому вопрос в фильтре: как отделить то, что доедет до нашей аудитории, от местных американских сюжетов. Сделано 20 сентября: американский футбол, бейсбол, NASCAR и студенческий спорт больше не проходят отбор; MMA, бокс, европейский футбол, теннис, хоккей и Формула-1 остаются. Спорные темы не удаляются, а сворачиваются под кнопку «🇺🇸 Только для США».
Инстаграм — раздел мёртвый
✅
🔗 Сделать явный переход на пост
У Марии переход не работает вовсе, у Алины работает — разница, похоже, в VPN. Плюс сама кнопка незаметна: нажимать нужно на карточку, а стрелку видно не всем. Раздел открывают случайно и уходят. Сделано 16 сентября: в карточке появилась подписанная кнопка «Открыть ↗». Раньше переход срабатывал по клику на карточку, а стрелку «поделиться» принимали за него — раздел из-за этого выглядел мёртвым.
⬜
👥 Собрать список аккаунтов, которые стоит читать
Сейчас там зарубежные видео и старое аниме — русских мемов нет. Парсить весь Инстаграм нельзя, он за это банит, поэтому работаем по конкретным аккаунтам. Нужна помощь креаторов: прислать аккаунты, за которыми есть смысл следить — мемные, тренд-вотчерские, эстетики вроде леопардовых принтов, которые потом переводятся в Y2K.
⬜
🎬 Посмотреть, можно ли брать залетевшее из Reels, а не по аккаунтам
Обе говорят, что тренды живут в Reels, а не в лентах аккаунтов: хороший тренд-вотчер может просто не набрать нужных просмотров и к нам не попасть (пример — Skyeng). Дорого и сложно: готовые сервисы просят около тысячи долларов в месяц. Разобраться, есть ли путь дешевле.
⬜
🧵 Изучить Threads как замену
Идея Марии: Threads устроен как Твиттер — ветки, мемы, обсуждения, и это Meta, то есть соседняя с Инстаграмом площадка. Сначала кто-то из креаторов смотрит, что там вообще происходит и годится ли это для принтов, и только потом мы прикидываем, реально ли оттуда собирать. 27 сентября — раздел «Threads» появился в меню: исследование готово (research/threads_2026.md), каждое утро бот ищет посты по 24 словам, а нейросеть отбирает печатаемое. Ручную проверку креатором решили пока не проводить (решение Руслана) — оцениваем раздел по ходу работы.
TikTok и YouTube Shorts
✅
🗣️ Расшифровка того, что происходит в ролике
Без неё лента выглядит как сводка новостей на непонятном языке: видно, что ролик залетел, и совершенно непонятно, в чём мем. Алина: «хотя бы на английском — уже будет великая благодать». Сделано 19.09: блок «Что в ролике» на карточках TikTok и Shorts — описание по кадрам и звуку сразу по-русски, надписи с экрана с переводом, фраза на принт. Реклама скрыта. Попутно выяснилось, что «Видео США» на 94% состоит из рекламы — см. отчёт за 19 сентября.
✅
🎵 Звуки — оставить как есть, это работает
Единственная часть TikTok, которую хвалят обе. Особенно ценно «сколько роликов снято под этим звуком». Ничего не переделываем. Подтверждено: ничего не меняем.
⬜
🪫 YouTube Shorts — решить судьбу раздела
Алина: «не брала оттуда ни разу». Причина та же, что и в TikTok: чтобы понять шортс, его надо посмотреть. Зумеры их и не листают — листают TikTok. Либо чиним расшифровкой вместе с TikTok, либо убираем с глаз. ВК-клипы взамен не предлагать — их назвали ещё более безнадёжными. Решено 19 сентября — чиним: у Shorts появился тот же блок «Что в ролике», что и в TikTok: описание по кадрам и звуку по-русски, надписи с экрана с переводом. Раздел оставлен; стоит спросить Алину, стал ли он полезен.
Printology — сворачиваем
✅
🛑 Отключить раздел генерации
Мария разобрала по существу: промты опираются на название мема, а не на то, что в меме происходит, поэтому нейросеть додумывает своё. Креаторы всё равно работают в других инструментах — Pinterest, Krea, арена. Решение встречи: развитие свернуть, а если раздел тратит токены — отключить, чтобы не мозолил глаза. Фокус переносим на выдачу тем. Сделано 16 сентября: кнопки генерации принтов убраны с дашборда и из окна печати — токены на них больше не тратятся. Сам раздел никуда не делся: если решим вернуть, это одна строка. 21 сентября кнопку «Сгенерить принт» вернули на карточку тренда (Павел) — теперь она спрятана под «Подробнее».
✅
⚖️ Запретить в промтах бренды с представительством в РФ
Реальная находка Марии: она прогнала наш промт через нейросеть и получила корону Burger King. За такой принт прилетает штраф. Если раздел когда-нибудь вернётся — список запрещённых брендов обязателен. Сделано 16 сентября: в задание для нейросети добавлен отдельный запрет на чужие товарные знаки — логотипы, фирменные шрифты, узнаваемые детали вроде короны Burger King или «галочки» Nike, форму, автоэмблемы и лицензированных персонажей. Написано, что это правило важнее красоты промта. Сама генерация сейчас отключена, но если её вернут, запрет уже на месте.
Интерфейс и мелочи
✅
💡 Закрепить тему за учёткой
Сейчас светлая или тёмная выбирается по времени суток, и Мария каждый раз переключает обратно. Просьба конкретная: закрепить ей светлую навсегда. Личные учётки для этого уже есть. Сделано 16 сентября: выбранная руками тема больше не сбрасывается — раньше на закате страница сама уходила в тёмную, и светлую приходилось возвращать каждый вечер. Теперь достаточно переключить один раз.
✅
🚫 Убрать кнопку «Запустить»
Мария попробовала её нажать, полторы минуты смотрела на котов и мышей в загрузке и закрыла. Кнопка делала мгновенный пересбор, но мы её отключили — слишком дорого по токенам. Раз не работает, пусть не висит. Сделано 16 сентября: кнопка убрана из шапки. Сам пересбор остаётся отключённым — он тратил слишком много токенов.
✅
🔠 Крупнее и жирнее названия вкладок
Верхнее меню читается тяжело. Просьба Марии — увеличить шрифт и сделать его плотнее, чтобы активная вкладка сразу выделялась. Сделано 16 сентября: шрифт верхнего меню увеличен и уплотнён на всех девяти страницах, активная вкладка стала заметнее.
✅
📱 Проверить, как сайт живёт на телефоне
Отдельное приложение делать не нужно — достаточно того, как это устроено у банков: открыть в Safari, «Поделиться» → «На экран Домой», и получается иконка. Надо убедиться, что так оно и работает и что с телефона всё читается. Мария заходит с айфона, вход с нескольких устройств одной учётке не мешает. Проверено 16 сентября: прогнал девять страниц в размере айфона — ничего не вылезает за экран, горизонтальной прокрутки нет. Добавлена иконка для «На экран Домой»: без неё айфон клал на рабочий стол скриншот страницы, теперь будет логотип с подписью Trend Hunter. Полноэкранный режим намеренно не включал — в нём пропадает кнопка «назад», а у нас много страниц. Что осталось неидеальным: на телефоне верхнее меню занимает три строки и заметно съедает экран — это уже вопрос к общему редизайну.
Встречные просьбы к креаторам
⬜
🎙️ Замечания — голосовыми, в любом виде
Договорились: как только что-то не сходится или приходит идея — записать голосовое, не заботясь о формулировках. Мы расшифруем и превратим в задачу. Через два дня мысль уже не вспомнится.
⬜
🍜 Аниме — брать активнее
Алина берёт, но в разделе новинок их немного: самое популярное уже добавлено. Мария смотрит аниме и готова подключиться. Фанаты — самая благодарная аудитория: им важен принт, а не качество изделия, и отзывы они оставляют лояльнее всех.
Со встречи 3 сентября разобрано по темам, с предложением решения
Ниже — всё, что прозвучало на встрече, разложенное по темам. Под каждым пунктом — что именно просили и как это предлагается сделать. Ниже этого блока идёт прежний список задач, он никуда не делся.
Кто и как пользуется — доступы и статистика
✅
🔑 Сменить пароль ещё раз и посмотреть, кто вернётся
За месяц на сайт заходили с 54 разных адресов, и не все они наши. Питерские коллеги попросили пароль только через две-три недели после прошлой смены, а на вопрос «часто пользуетесь?» ответили, что почти нет — привыкли копировать карточки у конкурентов. Инициативы и обратной связи от них не было. Как предлагаем сделать: сменить пароль и неделю просто смотреть по счётчику, кто остался. Кому доступ действительно нужен — попросит сам, и мы будем знать, кому и зачем он выдан. Заодно закроется вопрос вчерашнего всплеска в 20 визитов из России: сейчас непонятно, кто это был. Сделано 15 сентября: старый общий пароль отключён вместе со всеми прежними сессиями, новые доступы раздаются лично. Наблюдение началось — и теперь возвращение будет видно поимённо, а не по числу заходов с разных адресов.
✅
👤 Отдельная учётка каждому креатору вместо одного общего пароля
Сейчас у всех один пароль на всех, поэтому в статистике видно только «кто-то из Чувашии сидел дольше всех» — а нам нужно понимать, как работает конкретно Алина, конкретно Марик, конкретно Марат. Как предлагаем сделать: сделать вход по личной учётке. Это ложится ровно на ту задачу, которая уже стоит в разделе «Безопасность» — настоящую серверную авторизацию вместо пароля в браузере: делаем один раз и сразу с разделением на людей. Пользователей мало (три-пять), поэтому ничего тяжёлого строить не нужно. Сделано 15 сентября: вход стал по паре логин + пароль. Учётки: общая admin у Павла с Русланом и личные у Алины, Мари и Марика. Открытых паролей в файлах сайта нет — только зашифрованные отпечатки. Доступ отзывается по одному человеку, остальных это не трогает. Список людей — в ACCOUNTS.md, выдача новой учётки занимает минуту через скрипт. Важная оговорка: проверка пока идёт в браузере, то есть это учёт, а не защита, — настоящую серверную авторизацию делаем отдельно.
✅
📊 Видеть, какими функциями человек реально пользуется
Главный вывод встречи: дело не в программе, а в привычке. Креатор тратит на неё примерно 20% времени поиска, а 80% ищет вручную по своим источникам. Чтобы это чинить осмысленно, нужно видеть не «зашёл / не зашёл», а какие разделы открывает, в каком порядке и где бросает. Как предлагаем сделать: повесить метку на каждую значимую кнопку и отправлять событие в Яндекс.Метрику — она уже подключена, отдельный сервер под это не нужен и денег это не стоит. Отдельно включить запись сессий (вебвизор): при трёх-пяти пользователях это позволяет буквально посмотреть, как человек ведёт мышкой и где теряется. Сделано 15 сентября: метки повешены на 28 кнопок в девяти разделах, запись сессий была включена ещё раньше. Данные начали копиться — к встрече с креаторами после 21 сентября наберётся неделя.
Конкуренты на WB — «что выложили за сегодня»
✅
🆕 Список новых артикулов конкурента за день и за неделю
Самый весомый запрос встречи. Сейчас, чтобы понять, что залил конкурент, нужно заходить в его магазин и листать новинки руками — по каждому магазину отдельно. Хочется одно место, где по конкуренту виден список артикулов, добавленных за сегодня или за неделю, с переключателем периода. WB убрал плашку «new» (и вместе с ней буст новым карточкам), но сам фильтр «новинки» в выдаче остался — он никуда не денется, это база. Как предлагаем сделать: каждый день снимать список товаров продавца и сравнивать со вчерашним снимком — тогда «новое» считается у нас, а не берётся с чужой плашки, и результат не зависит от того, что WB решит убрать в следующий раз. Ходить будем тем же служебным адресом, через который уже работает блок «Что уже есть на WB» — он с нашего сервера отвечает нормально. Работает с 20 сентября — см. блок «Что конкуренты залили» на вкладке «Конкуренты».
✅
🕘 Срез каждый день в 21:00
Обсудили, когда снимать. Частный предприниматель может выкладывать круглосуточно, а компания — в рабочее время, край до 20:00. Значит, вечерний срез застаёт весь день целиком. Как предлагаем сделать: поставить основной скан на 21:00. Если окажется, что нужен ещё и дневной срез — добавим, но сначала посмотрим на вечерний: возможно, его достаточно, и это дешевле по расходам. Сделано 16 сентября.
✅
🖼️ Картинки новых товаров прямо в списке
Без картинки список артикулов читается тяжело — непонятно, что именно человек выложил. Как предлагаем сделать: подтягивать обложку товара так же, как это уже сделано для конкурентов и Instagram — обложки складываем у себя, чтобы страница не зависела от чужого сервера. Сделано: обложки новинок скачиваются к нам и показываются в списке, страница не зависит от чужого сервера.
✅
📄 Выгрузка файлом по конкуренту
Просьба звучала конкретно: файл называется по имени предпринимателя, внутри — список новых артикулов за выбранный период. Чтобы можно было переслать, открыть в таблице, отдать менеджеру. Как предлагаем сделать: кнопка «выгрузить» на карточке конкурента, файл-таблица с именем магазина в названии. Сделано: на карточке магазина есть кнопка «Выгрузить». Файл называется по магазину, внутри — артикул, название, цена, рейтинг, отзывы, остаток, дата появления и ссылка. Открывается в Excel без плясок с кодировкой.
⬜
🧭 Пересобрать карточку конкурента — но сначала спросить у Алины
Текущая карточка сама же и была названа «разносолом»: непонятно, что в ней главное. Придумывать заново вслепую не хочется — оптика у нас разная. Как предлагаем сделать: попросить Алину описать словами, что она хочет видеть в карточке конкурента слева направо и сверху вниз, и собрать карточку уже по её описанию. До этого ответа карточку не трогаем.
Расшифровка видео — везде, а не только в TikTok
⬜
🎬 Транскрипция и перевод для Shorts и Reels · Shorts готово, Reels — нет
Сейчас расшифровка есть в TikTok — и по видео, и по звукам, с оригинальным текстом и переводом; в корейском разделе переводятся хэштеги. Это оказалось прямо полезно: в TikTok много мусора, и короткая выжимка позволяет пролистать выдачу глазами, не открывая каждый ролик. Прозвучало дословно: «если бы такое было везде — в YouTube Shorts, в Instagram Reels — это было бы прям супер». Как предлагаем сделать: взять тот же механизм, что уже работает в TikTok (снимаем звуковую дорожку → расшифровка → перевод → короткая выжимка), и подключить его к Shorts и Reels. Действие в кадре при этом не описывается — только то, что произносится и написано. Shorts — сделано 19 сентября (блок «Что в ролике» на странице YouTube). Осталось — Reels: в Инстаграме расшифровки пока нет.
✅
🧠 Описание того, что происходит в кадре — пока только наметить
Отдельно обсуждали разбор самого видеоряда: что в кадре, а не только что сказано. Это упирается в мощности — понадобится своя модель на сервере, потому что роликов много и каждый нужно смотреть. Как предлагаем сделать: не делать сейчас, а зафиксировать как отдельную задачу и вернуться к ней, когда будет понятна цена сервера. Пока закрываем потребность транскрипцией — на встрече согласились, что её уже достаточно, чтобы «быстренько на скорую руку» читать выдачу. Сделано 19 сентября, и без своего сервера: ролик режется на 10 кадров, их вместе со звуком смотрит нейросеть Gemini и пишет по-русски, что происходит в кадре. Работает для TikTok и Shorts; если нейросеть не уверена, описание на карточку не попадает.
⬜
📐 Расшифровки показывать шире
Текст сейчас съедается: видно первые три строки, дальше обрезано, а карточки стоят слишком узко. Как предлагаем сделать: ставить четыре карточки в ряд вместо пяти и увеличить видимую длину текста. Это часть общей работы по интерфейсу — но конкретно здесь мешает уже сейчас, поэтому делаем раньше редизайна.
Музыка и концерты
⬜
🎤 Искать концерты по артистам, а не по городу
Выяснилось 20 сентября: страница города у Яндекса отдаёт ровно 15 событий и больше не показывает — это витрина «самое популярное», а не афиша. В чарте при этом 90 артистов, и большинство их концертов мы просто не видим. Как предлагаем сделать: заходить от артиста — брать имена из чарта и спрашивать афишу по каждому, а не надеяться, что артист попадёт в городскую пятнашку. Заодно проверить на этом же заходе, нужен ли второй билетный сайт.
⬜
🔕 Утренний сбор концертов иногда возвращается пустым
Сегодня на сайте было четыре концерта, а ручной запуск через час дал двадцать шесть. Значит, утренний прогон временами почти ничего не приносит, и заметить это некому — раздел просто выглядит бедным. Как предлагаем сделать: если собралось заметно меньше обычного, не затирать вчерашнее и сообщать в Telegram — так же, как сделано с ключом TikTok.
✅
🎧 Подключить Spotify как источник хитов
Раздел «Музыка» — самый полезный из всех по отзыву Алины: вышла новая песня, стало понятно, что она залетает, дизайнеры сделали принт, принт продался. Работает на сто процентов. Но данные сейчас берутся из Яндекс.Музыки (Apple Music стоит запасным вариантом), а зарубежные хиты в мировом масштабе там видно хуже. Как предлагаем сделать: добавить Spotify третьим источником и сверить, даёт ли он то, чего не видно у Яндекса. Про iTunes отдельно решили, что он не нужен — в России им почти не пользуются. Сделано 28 сентября: на странице «Музыка» появилась вкладка «🎧 Чарт в Spotify» — топ-100 с ярлыками «новинка» и «растёт». Напрямую Spotify чарты больше не отдаёт, пришлось идти через Apify.
✅
🎫 Проверить, всех ли концертов хватает из Яндекс.Музыки
Обратный отсчёт до концерта («осталось 8 дней», «113 дней») оказался полезным: под концерты заранее готовят принты и подкручивают рекламу на Ozon, где ставки адекватнее, чем на WB. Вопрос — не теряем ли мы концерты из-за того, что берём афишу из одного места: площадки конкурируют за артистов, и у каждой может быть своё. Как предлагаем сделать: сначала проверить гипотезу на фактах — сравнить афишу Яндекс.Музыки со сторонними билетными площадками по нескольким артистам. Если расхождение заметное — подключаем второй источник, если нет — оставляем как есть и не тратим время. Проверено 20 сентября — причина оказалась другой. Дело не в том, что площадки делят артистов: Яндекс отдаёт ровно 15 событий на город и больше не показывает, сколько ни прокручивай. Подробности — в отчёте за 20 сентября ниже.
Фанатские ниши — аниме, игры, книги
⬜
🔥 Отдельные разделы по фанатским нишам, как сделано с музыкой
Вывод встречи: фанатская аудитория — самая платёжеспособная и самая предсказуемая, по ней и надо бить. Пример прямо со встречи: после концерта Басты у стадиона продавали вязаные шарфы по полторы тысячи при себестоимости в сто пятьдесят рублей. Музыкальный раздел эту нишу уже обслуживает, а аниме, игры и книги живут общим списком. Как предлагаем сделать: сделать по каждой нише отдельный раздел с той же логикой, что у музыки: что вышло, у кого, насколько залетает, что ждём в ближайшее время.
⬜
📚 Книги: их почти не видно, надо чинить
Книги Алина называет отдельно как интересную нишу, но у нас они собираются только из Telegram, и их мало — четыре-пять штук. Причина, скорее всего, в отборе: книжные каналы проигрывают по охватам крупным трендвотчерам, и до топа не доходят. Как предлагаем сделать: два шага. Первый — смягчить отсечку для книг так же, как это уже сделано для аниме (гарантированное место в топе, без подкрутки самой формулы). Второй — поискать книжные источники за пределами Telegram: у книжных сервисов есть открытые рейтинги, надо проверить, что из этого реально доступно. Разобрано 16 сентября — дело не в программе, а в источниках. Проверил базу: книжные каналы собираются исправно, за двое суток с них пришло 399 постов с 14 каналов. Но средние просмотры у книжного поста — около 2 900, а по всем источникам сразу — 37 600. Разница в тринадцать раз: книжные каналы просто маленькие, и честно конкурировать за место в топе они не могут. Пять книжных тем, которые вы видите на дашборде, попадают туда только благодаря правилу «книги и аниме не терять» — без него их не было бы вовсе. Что это значит: поднимать книгам искусственный рейтинг бессмысленно, мы просто разбавим топ слабыми темами. Нужны источники покрупнее — книжные блогеры, BookTok, сообщества во ВКонтакте. Названия каналов выдумывать не стану: в июне этим уже обожглись, когда ИИ насочинял несуществующих. Пришлите живые ссылки — добавлю.
Карточка тренда
✅
👕 Показывать, есть ли по тренду именно одежда
Блок «Что уже есть на WB» проверили живьём на фильме «Оглянись»: нашлись манга и кружки, а футболок нет — и это как раз сигнал, что нишу стоит занять. Но чтобы это увидеть, пришлось листать список глазами. Как предлагаем сделать: разбивать найденное по типу товара и выносить наверх главное: «одежды нет» или «футболок уже 42». Тогда решение читается с одного взгляда, а не после пролистывания. Сделано 20 сентября: первой строкой блока теперь стоит вывод — «Одежды по теме нет, ниша свободна», «Футболок нет, другой одежды 3» или «Футболок по теме уже 96», с цветом от зелёного к красному. Рядом разбивка по типам: футболки, худи, кружки, постеры, книги. Листать список глазами больше не нужно.
Интерфейс
⬜
🎨 Критический редизайн — после того, как допилим функционал
Оценка со встречи прямая: накопился визуальный шум, человек, который видит это впервые, растеряется и не станет никуда нажимать. Изначально было одно, потом идеи докручивались на ходу — и вид от этого пострадал. Как предлагаем сделать: порядок не менять: сначала доводим функции, потом делаем редизайн целиком, а не подкрашиваем по кусочкам. В редизайне заодно убрать лишнее и спрятать редкое поглубже. Исключение — расшифровки TikTok, они мешают уже сейчас (см. выше).
✅
🚫 Токсичные темы всё ещё просачиваются
В выдаче попались украинские сюжеты, хотя фильтр на такие темы стоит. Печатать это никто не собирается, а место в отчёте они занимают. Как предлагаем сделать: разобрать конкретные случаи и дополнить фильтр — так же, как это делалось для антивоенных сюжетов. Сделано 20 сентября: нашлась настоящая причина — программе было велено гасить такие сюжеты, но команда «погасить» никуда не вела, и тема доезжала до отчёта. Починено, плюс список запрещённых тем расширен с двух слов до двадцати восьми по реальным случаям из базы за три недели.
Процесс и работа с креаторами
⬜
🧪 Самим пройти путь от гипотезы до выкладки на WB
Идея прозвучала с обеих сторон: встать на место Алины или Марика и пройти весь путь целиком — от «нашёл тренд» до «выложил карточку и смотрю, стрельнет или нет». Тогда становится понятно, где программа помогает, а где мешает, и появляется свой интерес к результату. Как предлагаем сделать: взять несколько гипотез (обсуждали порядка десяти) и довести их до карточки на WB. Первый живой кандидат уже есть — «Оглянись»: манга и кружки на WB есть, одежды нет.
⬜
🗣️ Встреча с креаторами после 21 сентября
Договорились созвониться, когда Никита вернётся. Три цели: посмотреть, как они сейчас работают с программой; понять, как проходят весь путь от поиска до выкладки; показать им функции, о которых они, вероятно, просто не знают. Гипотеза встречи: программой пользуются мало не потому, что она плохая, а потому, что знают её процентов на двадцать. Как предлагаем сделать: провести в том же формате, что и прошлое интервью, и по итогам собрать список доработок — как этот.
⬜
📌 Задание креаторам на месяц и обратная связь
От креаторов пока нет ни инициативы, ни идей — за всё время прилетело одно предложение по TikTok, и мы его сделали. Просто попросить «сидите в программе не 20% времени, а 50%» — плохая идея: если человеку неудобно, принуждение это не лечит, а обратная связь получится вымученной. Как предлагаем сделать: дать задачу через результат, а не через часы: за месяц завести столько-то гипотез и карточек, опираясь на программу, и коротко отмечать, где она помогла, а где пришлось идти руками. Заодно это даст материал к сентябрьской встрече.
⬜
💬 Дублировать изменения в общий чат
Просьба напрямую: роадмап — это хорошо, но заходить в него каждый раз не получается. Как предлагаем сделать: после каждого обновления коротко писать в общий чат, что появилось, со ссылкой на нужную вкладку. Пишем в общий, а не в личку — чтобы видели все.
Расходы
✅
💰 Посчитать минимальный режим поддержки
Обсуждали, сколько стоит просто «держать свет включённым» — сервер и запросы к моделям — если работы придётся временно притормозить. Ориентир прозвучал в двадцать-тридцать тысяч в месяц, но это оценка на глаз. Как предлагаем сделать: посчитать точно: что можно выключить без потери накопленных данных (тяжёлые парсеры, частые сборы, генерация картинок), что должно продолжать работать, и во что это обходится в месяц. Полезно в любом случае — это же ответ на вопрос, во сколько обходится каждая новая функция. Посчитано 20 сентября: ≈1 350 ₽ в месяц, а не двадцать-тридцать тысяч. Разбор — на странице расходов, раздел «Минимальный режим».
Безопасность — гейт перед передачей клиенту
⬜Настоящая серверная авторизация вместо клиентского пароля (сейчас пароль виден в исходнике — годится для демо, не для клиента)
⬜Аудит секретов + ротация всех боевых ключей/паролей перед передачей + проверка истории git на утечки
⬜Перевыпустить ключ OpenRouter — светился в чате открытым
⬜Защита API: rate-limit, авторизация на эндпоинтах, никаких чувствительных данных в ответах
⬜Серверная гигиена: SSH только по ключам, firewall, обновления, закрытые лишние порты
⬜Заголовки безопасности (HSTS, CSP и т.п.) — HTTPS/SSL и no-store уже настроены
⬜Итоговый security-review всего проекта + чек-лист готовности к передаче
Источники и каналы
⬜Аудит остальных категорий каналов (игры / кино / шоу-бизнес / политика / спорт) — как уже сделали для аниме
⬜Ещё источники из интервью: экранизации (Amazon / Netflix), музыка/исполнители, кросс-нишевые всплески (тренд всплывает в игрушках раньше, чем в футболках) — книги уже сделали
Конкуренты и маркетплейс
⬜Авто-алерт «конкурент уже печатает этот тренд» на карточке тренда — сверять новые SKU конкурентов с нашими трендами
⬜Соцсети конкурентов: выкопать их TG / IG / TikTok / YouTube по косвенным признакам → следить, что постят · VK и Telegram сделаны 5 июля (посты в досье конкурента), осталось IG / TikTok / YouTube
✅Фид «что залили сегодня» с заголовками карточек — сделано 20 сентября: блок «Что конкуренты залили» с названиями, ценами и картинками, выгрузка в Excel и PDF; с 26 сентября собирается ночью с Мака Руслана
⬜Живые досье для остальных 10 конкурентов (ВсеМайки, Print Bar, ТВОЕ…) — найти их seller-id
⬜Правовой флаг у трендов (чужая IP / лицензии) — учиться на арбитражах конкурентов
Динамика и математика тренда
✅График роста тренда во времени в карточке — сделано 9 августа: блок «📈 Динамика» с приростом просмотров и мини-графиком
⬜Расширить формулу всплеска: скорость не только по просмотрам, но и по репостам + реакциям + комментариям
Продукт и UX
⬜Нишевый индекс — метрика «прорыв для своей ниши» рядом со скором (чтобы низкопросмотровые ниши было видно), без бустов в самой формуле
⬜«Окно печати»: семантический кросс-платформенный матчинг — ловить тренд, который есть сразу на 2–3 площадках (сейчас совпадений мало)
Сделано · дневные отчёты ↑ новые сверху
28 октября · Павел · «Конкуренты»: на каждой карточке — состояние сбора
мелкая правка
последний срез · сколько в базе · с какого дня собираем — на всех магазинах Wildberries и Ozon
✅
🗂 Строка «как собран магазин»
Под названием каждого магазина теперь одна строка: когда его смотрели последний раз, сколько артикулов о нём знаем и с какого дня собираем. Например: «Последний срез 27 окт · в базе 57 076 артикулов · собираем с 20 сент». Если магазин этой ночью не смотрели, дата среза подсвечена оранжевым — сразу видно, что данные не сегодняшние. Строка есть и у новых магазинов, и у тех, что не собрались, и на вкладке Ozon (там счёт в товарах).
✅
🟦 Ozon: лишний переключатель спрятан
Пока у магазина на Ozon есть только точка отсчёта, «За день» и «За неделю» показывают одно и то же. Вчера переключатель должен был прятаться, но оставался на экране — теперь его нет, пока не появятся первые новинки.
✅
🌞 Ночной сбор выключен — собираем днём, в фоне
Решение Павла: ночной автозапуск на Маке больше не нужен, он снят. Сбор запускается вручную днём в отдельном Chrome и не мешает работать за компьютером. Со страницы «Конкуренты» убраны «ночные» обещания вроде «попробуем следующей ночью» и «после завтрашнего вечернего среза»: теперь там «в следующий сбор». Если данные не сегодняшние, сверху честно написано, от какого числа последний сбор.
✅
🤖 Утренний отчёт бота — под дневной сбор
Бот по-прежнему в 9:20 пишет в Telegram, как прошёл сбор новинок: сколько магазинов собрано и сколько новых принтов. Раньше он ждал сбор каждую ночь и без него начал бы каждое утро жаловаться, что «Мак не прислал итог ночного сбора». Теперь отчёт приходит один раз, утром после сбора, а если сбора не было, бот молчит: пропущенный день — это не сбой. Ложного «магазин этой ночью не собран» тоже не будет: магазин считается собранным, если его смотрели в последний сбор.
✅
🕵️ Ozon: ложные новинки пойманы и убраны
Ozon показывает в магазине не весь каталог, а каждый раз немного другую выборку: вчера 937 товаров, сегодня 208. Из сегодняшних 147 были незнакомыми, и сервер выдал их за новинки дня. Проверка показала, что все они старше самого свежего товара, который мы уже знали, то есть лежали в магазине и раньше. Теперь новинкой на Ozon считается только товар новее всего известного, а эти 147 дописаны в базу.
Ночной сбор 28 октября не стартовал: у ночного запуска по-прежнему нет разрешения macOS «Полный доступ к диску». Днём собрали в фоне: Wildberries — 7 магазинов из 7, без отказов (у Вельца 242 новых принта, у ФУТБОЛКИНа 65; «Физтех Принт» за сутки ничего не выложил), Ozon — новых товаров нет.
27 октября · Павел · «Конкуренты»: сбор в фоне, вкладка Ozon и новый конкурент
крупный день
ночь сорвалась → днём 6 магазинов из 6 в фоне, без единого отказа · новый конкурент «Физтех Принт» по просьбе Алины · страница разделена на вкладки Wildberries и Ozon · первый сбор с Ozon — 907 товаров
✅
🌙 Почему ночью не собралось
Ночной запуск в 00:05 не смог даже прочитать программу сбора: у неё нет разрешения macOS «Полный доступ к диску» (шаг из инструкции был пропущен, теперь он вписан в саму настройку запуска). Ручной запуск в час ночи шёл через мобильный интернет, и Wildberries ответил «Подозрительная активность»; по правилу после отказа в ту же ночь больше не пробуем. Днём собрали заново: 6 магазинов из 6 за 32 минуты. У Вельца 2 512 новых артикулов (310 принтов), у MSM 215.
✅
🫥 Сбор в фоне — не мешает работать за Маком
Раньше сбор листал магазины настоящим колесом мыши: выводил Chrome поверх всех окон и двигал курсор, работать в это время было нельзя. Теперь он открывает отдельный Chrome со своим профилем и прокручивает страницу изнутри браузера — для сайта это такие же настоящие движения, а курсор и окна остаются вашими. Если WB попросит пройти проверку, окно сбора выйдет вперёд, придёт уведомление со звуком, и сбор подождёт 10 минут, пока её пройдут руками. «Подозрительная активность» по-прежнему сразу останавливает сбор.
✅
🔌 Связь с сервером больше не рвётся на пересчёте
Пока сервер скачивал обложки новинок, связь с Маком пару минут молчала, и VPN её обрывал — итог записывался как «не отправилось», хотя всё досчиталось. Теперь сборщик каждые 30 секунд подаёт серверу знак, что он на связи.
✅
🆕 Новый конкурент — «Физтех Принт»
Магазин, который прислала Алина, добавлен в список Wildberries. Сегодня сбор запомнил 2 500 самых свежих его артикулов — это точка отсчёта, первые настоящие новинки появятся после ночи на 28 октября. Попутно найдена и исправлена ловушка: магазин с большим каталогом, добавленный уже при сборе с Мака, никогда не дособрал бы базу — теперь она берётся за один раз.
✅
🟦 Вкладки Wildberries и Ozon
Страница «Конкуренты» разделена на две вкладки, у каждой своя прямая ссылка. На Ozon тот же продавец («Физтех.Принт»): сбор открывает его магазин с сортировкой «Новинки» сразу после Wildberries. Сегодня запомнили 907 товаров — новинки покажем со следующего сбора, а пока на вкладке видно, что сейчас наверху в «Новинках» самого магазина, с честной подписью. Ozon вставляет прямо в ленту магазина чужую «витрину скидок» (в первом сборе — 30 товаров вроде кефира и Old Spice); теперь сбор берёт только ленту магазина, а реклама из базы убрана.
Проверено: обе вкладки отрисованы на живых данных с сервера, на компьютере и телефоне; ошибок нет, картинки Ozon грузятся, «Физтех Принт» стоит на вкладке Wildberries карточкой «запоминаем свежую часть каталога». Ночной автозапуск по-прежнему ждёт разрешения «Полный доступ к диску» — без него ночью сбор не начнётся.
26 октября · Павел · «Конкуренты»: в десять раз легче, принты крупно, кошак-лоудер
скорость и вид
срез 6,2 МБ → 750 КБ · обложки 130 КБ → 15 КБ · магазины слоями, плитки крупные · пока грузится — кот следит за курсором · вступительные тексты убраны
✅
⚡ Почему было медленно и что с этим сделано
Страница тянула срез на 6,2 МБ (все шестнадцать тысяч артикулов Вельца) и полторы сотни обложек в оригинале 900×1200 по 130 КБ каждая — около 20 МБ за один показ. Теперь сервер пишет рядом компактный срез по принтам (750 КБ) и делает миниатюры 320 px по 15 КБ; Caddy сжимает тексты и даёт браузеру держать картинки неделю. Всё это считается на сервере, страница ничего не пересчитывает.
✅
🐱 Кошак-лоудер
Пока срез едет, на экране тот же кот, что на дашборде при запуске сборки: следит за курсором, под ним «Агрегируем данные конкурентов» → «Раскладываем принты». Вынесен в отдельный файл cat_loader.js, чтобы подключать одной строкой на любую страницу; дашборд не менялся. Короче 0,65 с не показывается, чтобы не мелькал.
✅
🧱 Магазины слоями, принты крупно
Вместо трёх узких колонок каждый магазин — полоса на всю ширину: плитки принтов 150 px (на телефоне две в ряд), сразу 18 штук и кнопка «Показать ещё 24». Вступление про исследование, две стратегии, «что уже работает» и застывшие досье убраны — страница начинается с «Что конкуренты залили». Исследование 20 игроков осталось ниже под своим заголовком.
✅
📊 Окно «Просмотр активности» — по ночному срезу
Раньше в нём было «0 товаров, новых нет» — это досье, которое собирал сервер до 24 сентября, когда Wildberries закрыл ему каталог. Теперь там принты за срез, за неделю, цены и те же плитки, что на витрине.
✅
📅 Дата среза — день проверки
У Тимонова в срезе лежали принты от 21 октября, а проверяли его 26-го и нового не нашли; страница показывала «срез 21 окт». Теперь дата — день проверки, а «накопилось за N дней» пишется только когда сервер действительно помнит прошлую проверку. Утренний отчёт бота считает новые принты только по магазинам, которые смотрели этой ночью.
26 октября · Павел · раздел «Конкуренты» приведён в порядок
порядок
первый полный ночной сбор после простоя — 6 магазинов из 6 · витрина считает принты, а не артикулы · у каждой карточки своя дата среза · Excel и PDF — строка на принт
✅
🔢 Считаем принты, а не артикулы
Wildberries заводит отдельный артикул на каждый размер и цвет: у Вельца в среднем восемь на принт, у ходовых — шестьдесят. Поэтому витрина показывала «6611 новинок за сутки», а в галерее двенадцать плиток оказывались двумя футболками по шесть раз. Теперь цифра на карточке — принты (у Вельца 807 за срез), артикулы подписаны рядом, на плитке значок «×8». Галерея — по одной плитке на принт. Реестр при этом исправен: партии артикулов у Вельца идут по возрастанию, он действительно заливает около 1 200 артикулов в день — ошибка была в единице счёта, а не в данных.
✅
📅 У каждой карточки своя дата среза
Магазины теперь смотрим по очереди, и у части карточек данные на одну-две ночи старше. Раньше это ничем не отличалось от сегодняшних. Теперь под названием стоит «срез 26 окт», а если магазин этой ночью не был в очереди — дата оранжевая. После простоя пишем «накопилось за 5 дней», чтобы большая цифра «за день» не пугала и не обманывала.
✅
📗 Excel и PDF — строка на принт
Файл «Excel с принтами» Алина смотрит с телефона, и восемь одинаковых строк подряд там нечитаемы. Теперь одна строка — один принт: картинка, название, цена, дата, сколько у него артикулов и полный их список отдельной колонкой. У Вельца файл стал 1 828 строк вместо 16 353. То же в PDF и в таблице с сайта.
✅
🧹 Чистка реестра по правилу проекта
Артикулы на Wildberries растут со временем, и настоящая новинка всегда старше по номеру, чем всё, что уже было в базе. Нашлись 835 артикулов, помеченных датой, но с номером не выше старших в базе: их просто не видели при наборе базы. Переписаны в базу, срез пересобран без похода на сайт; копия реестра до чистки лежит рядом. На витрине это убрало 14 ложных новинок — например, футболку 2019 года у OTHERS.
✅
📝 Тексты раздела — про то, как это работает сейчас
На странице было «каждый вечер в 21:00 снимаем список» и плашка про заблокированный сервер — так работало в сентябре. Переписано под ночной обход обычным браузером и ротацию магазинов. Зелёная строка «Живые данные WB обновлены: 24 сентября» перестала быть зелёной: досье продавцов (число товаров, цены, отзывы) стоят с 24 сентября, об этом сказано прямо, с оговоркой, что к новинкам это не относится.
Проверено на живых данных: страница отрендерена локально на десктопе и телефоне, ошибок нет; Excel пересобран на сервере, заголовки и строки проверены. Первая ночь по расписанию — на 27 октября: Мак просыпается в 00:03, сбор идёт в 00:05.
25 октября · Павел · сбор конкурентов оживлён: виноват был не Wildberries
починка
четыре дня витрина показывала старое · причина оказалась в галочке браузера и в нашем же предохранителе · ночной обход урезан вдвое, домашний интернет выведен из-под удара
✅
🔌 Сбор остановила галочка в Chrome, а не защита магазина
21 октября сбор замолчал, и всё указывало на то, что Wildberries нас забанил. На деле в браузере слетела настройка «Разрешить JavaScript из событий Apple» — без неё программа может открыть страницу магазина, но не может прочитать, что на ней показано. Chrome сбрасывает эту настройку сам при обновлениях, и живёт она отдельно в каждом профиле браузера: галочка стояла в одном профиле, а сбор работал в другом. Отсюда и путаница — в меню видно «включено», а программа получает «отключено».
✅
🛡️ Наш предохранитель принимал загрузку за блокировку
У страницы отказа Wildberries заголовок «...». Ровно такой же заголовок у обычной страницы, пока она ещё рисуется. Проверка срабатывала на первой секунде, до загрузки, — и сбор сам себя выключал на всю ночь, решив, что его забанили. Теперь «...» означает «ещё грузится», ждём до тридцати секунд, и только если за это время ничего не появилось — считаем отказом. Настоящую блокировку по-прежнему узнаём мгновенно, по тексту на самой странице.
✅
🌙 Шесть магазинов за ночь вместо двенадцати
Три магазина, которые Алина просила смотреть в первую очередь, собираются каждую ночь. Остальные девять поделены на три группы и идут по очереди — до любого очередь доходит самое позднее на третью ночь. Ночной след стал вдвое короче, а свежесть по главным конкурентам не пострадала. Чем меньше мы беспокоим сайт, тем дольше живёт сбор.
✅
☀️ Днём к Wildberries больше не ходим
Если ночью компьютер спал, система запускает пропущенное задание при пробуждении — то есть среди дня. Раньше сбор в таком случае растягивался на сутки и ходил по магазинам в самое неподходящее время. Теперь программа смотрит на часы: не ночь — разворачивается и ждёт следующей, а утренний отчёт в Telegram объясняет человеческим языком, что компьютер ночью спал.
✅
📱 Проверено: сбор может идти через телефон
Домашний адрес после дня проверок оказался временно придавлен. Раздали интернет с телефона — Wildberries открылся сразу же, каталог отдал без единой заминки. Это даёт запасной канал и, что важнее, снимает риск с домашнего интернета: если сайту что-то не понравится, пострадает ночной адрес оператора, а не Wi-Fi всей семьи.
Отдельный урок дня: четыре дня никто не знал, что сбор стоит. Утренний отчёт о сбоях в проекте есть — надо проверить, доходит ли он до адресатов, иначе следующая поломка снова спрячется на неделю.
1 октября · Руслан · локальный обход Wildberries снова готов
починка
после исправления VPN Мак снова открывает Wildberries · настоящее колесо проверяется до старта · случайная потеря первого движения больше не ломает весь ночной обход
✅
🖱️ Прокрутка не сдаётся после одной осечки
Первый запуск потерял Chrome, пока VPN не давал открыть российский сайт. После исправления VPN отдельно укрепили сам обход: перед прокруткой программа возвращает своё окно Chrome на передний план и повторяет движение, если первый сигнал не дошёл. Если настоящее колесо всё-таки временно не сработало, этот шаг выполняется запасным способом, а сбор продолжается.
✅
🔎 Проверка разрешения стала настоящей
Команда проверки теперь не только видит галочку «Универсальный доступ», но и открывает локальную тестовую страницу, прокручивает её на 600 пикселей и закрывает. На этом Маке проверка прошла: Chrome отвечает, экран разблокирован, колесо действительно двигает страницу. К Wildberries эта проверка не обращается, поэтому её можно запускать безопасно перед ночью.
28 сентября · Алина · чарт в Spotify
новый источник
в «Музыке» появилась вкладка с мировым чартом · видно не «песня популярна», а «песня вышла два дня назад и уже вторая» · около 400 ₽ в месяц
✅
🎧 Чарт в Spotify — новая вкладка в «Музыке»
Раздел «Музыка» Алина назвала самым полезным: вышла песня, видно что залетает, сделали принт, принт продался. Но наши чарты показывали Россию, а мировые хиты доходили до них с опозданием. Теперь рядом стоит топ-100 Spotify: у каждого трека прослушивания за день, изменение позиции, сколько дней он в чарте и пиковое место. Ссылка ведёт послушать.
✅
🆕 Главное — ярлык «новинка», а не размер цифр
Просто большие прослушивания ничего не говорят: в мировом чарте половина позиций это старая классика, Ed Sheeran висит там 3004 дня. Для принта важен другой сигнал — трек вышел только что и уже забрался высоко. Померили по живому чарту: прослушивания у большинства треков вообще падают, медиана минус четыре процента за сутки, так что «рост прослушиваний» как признак бесполезен. Подъём по позициям тоже обманывает — его показывают «Hips Don't Lie» после 520 дней. Осталось одно честное правило: новинка — это трек моложе двух недель. Сегодня их пять, и это свежий альбом Taylor Swift на втором, третьем, пятом и шестом местах.
✅
🔌 Почему через Apify, а не напрямую
Spotify закрыл сторонним программам доступ к своим редакционным подборкам в конце 2024 года — а чарты живут именно там, — и замены не сделал. Страница чартов на их сайте без входа в аккаунт отдаёт пустую оболочку. Единственный рабочий путь — готовый сборщик на Apify, который снимает чарт с веб-интерфейса. Обходится примерно в 400 ₽ в месяц при одном сборе в сутки; чаще незачем, чарт обновляется раз в день.
✅
🔧 29 сентября: вкладка не открывалась — починено
Выкатил вчера с двумя ошибками, и обе всплыли бы у первого же человека: по нажатию на вкладку ничего не происходило. Причина — новой вкладке не завели настройки сортировки, а страница требует их для любой вкладки, и переключение падало молча. Вторая ошибка — я звал функцию экранирования текста не тем именем, какое принято на этой странице. Виноват в том, что не нажал на собственную кнопку перед тем, как сказать «готово». Теперь нажал: сто карточек, сортировки «по позиции», «сначала новинки», «по прослушиваниям», «сильнее выросли». Заодно страница больше не падает молча, если у вкладки нет сортировок.
✅
🛡️ Пустой чарт не обнуляет вкладку
Если сбор не удался, витрина показывает прошлый чарт с пометкой, что он не сегодняшний, — вместо пустой страницы, которая выглядит как поломка. Тот же подход, что у конкурентов после истории с Wildberries. И вкладка вообще не появляется, пока нет настоящих данных.
28 сентября · Руслан · конкуренты: Вельц догнан, у всех новинок есть картинки
починка
первая ночь без предела: все 12 магазинов, Вельц пролистан до конца · обложки качаются для всех новинок, а не для первых 60 · в Excel весь последний день целиком
✅
🌙 Вельц догнан до 21 сентября
За ночь Мак пролистал у Вельца 10 000 карточек и дошёл до товаров, известных с 21 сентября, — пропущенный кусок закрыт. За 28 сентября у него 436 новинок; за 27-е записано 8 746 — это всё, что накопилось за шесть дней без проверки. Остальные 11 магазинов собрались как обычно. Похоже, больше 10 000 товаров WB в магазине не показывает — для ежедневной работы (у Вельца 400–500 в день) этого с запасом хватает.
✅
🖼️ Картинки у всех новинок
Раньше обложки качались только для 60 новинок магазина за ночь, и в Excel у большинства товаров Вельца картинок не было. Теперь качаются все, а что не успелось ночью, сервер докачивает утром в 7:40. Сразу докачали 11 тысяч картинок — у всех новинок недели теперь есть принт.
✅
📗 В Excel — весь день целиком
В таблицу раньше попадало не больше 300 строк — меньше, чем Вельц заливает за один день. Теперь последний день идёт целиком всегда, а вместе с остальной неделей — до 3000 строк с картинками (файл Вельца — около 11 МБ).
✅
🧹 Старые картинки удаляются сами
Картинки нужны только для новинок за неделю. Теперь каждое утро сервер удаляет обложки товаров, которые из недели выпали, — иначе папка росла бы на ~50 МБ в день и через полгода заняла бы весь диск.
27 сентября · Руслан · TikTok входит сам
автоматизация
больше не нужно раз в три дня «чинить тикток» руками · перед сбором Мак сам проверяет вход и, если надо, входит через Google · проверено контрольным входом
✅
🔑 Автовход в TikTok перед каждым сбором
Ключ для TikTok живёт ровно трое суток, а продлить его без нового входа нельзя, поэтому раньше раз в три дня кто-то входил руками. Теперь каждый вечер перед сбором Мак проверяет вход, и если его нет или ключу осталось меньше полутора суток, входит сам. Путь тот же, что у Руслана: Creative Center → «Log in» → «Log in with Google» → аккаунт Rusio Geminez. На это уходит около минуты, пароли скрипт не знает и не хранит.
✅
🎥 Путь записан с ручного входа Руслана
Первые попытки шли через другую страницу входа. Там TikTok подставлял чужой аккаунт, а за частые попытки временно закрыл вход. Тогда Руслан вошёл руками в окне скрипта, а скрипт записал каждый клик. По этой записи автовход переделан, и контрольная попытка прошла сама за 45 секунд.
✅
🛟 Если не получится — сбор не сломается
При любой заминке (Google попросит пароль, TikTok покажет что-то новое) автовход сдаётся и оставляет старый ключ, так что сбор проходит как обычно. Снимки экрана сохраняются для разбора, а в Telegram, как и раньше, приходит напоминание войти вручную.
27 сентября · Руслан · конкуренты: каждый магазин — до конца новинок
починка
убран предел, на котором обрывался Вельц · любой магазин листается, пока не кончатся новые товары · недосмотренный магазин больше не пропадает, бот предупреждает
✅
📜 Магазин листается до конца новинок, без предела
Вечером Вельца пролистали на 2540 товаров, и сбор остановился на пределе в 2500 — до уже знакомых товаров не дошёл: за шесть дней без проверки Вельц залил больше. Ночью Мак опять начал бы сверху и упёрся бы в тот же предел, так что пропущенное не собралось бы никогда. Теперь предела нет ни у одного магазина: Мак листает «По новинкам», пока не встретит сотню знакомых товаров подряд. В обычную ночь это по-прежнему 1–3 страницы, а Вельца в следующий запуск Мак долистает до конца.
✅
🧩 Недосмотренный магазин не пропадает
Раньше только Вельц показывался, даже если его не успели досмотреть; остальные магазины в такую ночь просто пропускались. Теперь любой магазин показывает то, что успели увидеть, с пометкой «остальное досмотрим следующей ночью», а утром бот пишет админам, какие магазины досмотрены не до конца.
27 сентября · Руслан · Threads: разобрались и вывели в меню
исследование
изучили Threads как замену Инстаграму · автоматически «тренды Threads» не получить никак, но по нашим словам-зондам он отвечает · новая вкладка «Threads» с темами под принт каждое утро
✅
🔎 Как устроен Threads и есть ли там наша аудитория
500 млн человек в месяц, на телефонах уже обогнал Твиттер. Но русскоязычный Threads — это в основном Казахстан и Украина, и российских мемов, которые рождались бы там раньше, чем в Telegram и TikTok, не нашлось. Раздел «Trending now» есть только в США, Японии, Бразилии и паре стран — в России его нет, и забрать его автоматически нельзя ни одним способом.
✅
🧰 Сравнили пять способов собирать данные
Официальный доступ Meta не показывает лайки чужих постов и требует одобрения, которое команде из России почти не получить. Свой сборщик пришлось бы постоянно чинить, Apify выходит в $50–75 в месяц. Выбрали ScrapeCreators — ключ уже есть, около $1,5 в месяц. Полный разбор — в research/threads_2026.md.
✅
🧪 Сбор каждый день в 8:40
Бот ищет в Threads 24 слова (аниме, книги, k-pop, мемы, «хочу такую футболку», «I need this on a shirt»…), берёт только свежие посты на русском и английском, а нейросеть выбирает, что можно напечатать, со ссылками на посты. Первый день: «ОНИ ЕЁ ЗАБЫЛИ» (история про собаку Найду, ~5,7 тыс. реакций), фраза «поехали» — «газ», «Проект „Аве Мария“», «Фрирен», «Поднятие уровня в одиночку». Сначала сбор задумывался тихим, для сравнения с ручной проверкой Марии; в тот же день решили не ждать и вывести его на сайт.
✅
🧵 Раздел «Threads» в меню
Новая вкладка рядом с Инстаграмом. На карточке — тема, крупно «фраза на принт», если она есть, почему это может продаться, и посты, откуда взято, с лайками и ответами. Можно переключаться между днями, фильтровать по категориям, отмечать звёздочкой и сразу проверять спрос в Wordstat, Google Trends, на WB и Ozon. Внизу свёрнуты самые обсуждаемые посты дня без отбора — видно сырьё. Посты открываются через VPN.
27 сентября · Руслан · первая ночь сбора с Мака и мелкий ремонт
починка
все 12 магазинов конкурентов собраны за ночь без единого отказа WB · радар X перестал «падать» на длинных ответах · у тем TikTok пропадут дубли обложек
✅
🌙 Первая ночь сбора конкурентов с Мака
За 35 минут ночью пролистаны все 12 магазинов, WB ни разу ничего не заподозрил. Два магазина сначала не попали на страницу: у ФУТБОЛКИНА мешали старые карточки, которые сайт показывает иначе, — исправлено; Вельц не проверялся с 21 сентября и заливает по 200 товаров в сутки — теперь давно не проверенные магазины Мак листает глубже, догонит этой ночью.
✅
📡 Радар X не теряет темы
Когда ответ нейросети не влезал в лимит и обрывался, пропадал весь список тем, и радар показывал сырые данные. Теперь сохраняются все темы, которые успели прийти целиком, а лимит ответа поднят втрое.
✅
🖼️ У тем TikTok по три обложки, без дублей
После переноса проекта на новый Мак у части тем показывалось по шесть обложек — половина были копиями. Сбор больше не подхватывает такие копии; со следующего обновления TikTok дубли уйдут со страницы.
26 сентября · Руслан · сбор с Мака — осторожнее и под присмотром
по итогам исследования
большое исследование «как сайты ловят парсеры в 2026» · Мак листает WB настоящим колесом и не работает за экраном блокировки · утром бот сам сообщает, если ночь не удалась · найден запасной путь — MPSTATS
✅
📚 Разобрались, как WB ловит роботов
Пять параллельных исследований со ссылками и датами: как в 2026 году сайты отличают людей от программ, чем программы маскируются, какие прокси доступны из России, что можно купить вместо борьбы и где юридические риски. Главное: у WB своя защита, пропуск в ней привязан к браузеру, а чистый домашний адрес не спасает, если поведение выдаёт автоматику. Отчёт лежит в проекте, в папке research.
✅
🖱️ Листаем настоящим колесом
Раньше страница прокручивалась командой изнутри сайта — со стороны это «страница едет, а колесо никто не трогал», один из главных признаков робота. Теперь курсор плавно заходит в окно и крутит колесо, как рука человека. Если у Мака нет нужного разрешения, сбор сам вернётся к старому способу и напишет об этом в журнал.
✅
🔒 Не работаем за экраном блокировки
За экраном блокировки Chrome не рисует страницы, и листать магазин вслепую — лишний риск для домашнего адреса. Теперь сбор держит экран включённым, а если Мак всё-таки заблокирован — пропускает ночь, не обратившись к WB ни разу.
✅
🔔 Утром бот скажет, если ночь не удалась
После каждой ночи Мак отправляет на сервер короткий итог. В 9:20 бот пишет админам, если Мак не вышел на связь, экран был заблокирован, WB показал проверку на робота или собраны не все магазины. Хорошая ночь — тишина. Так мы не повторим историю с обложками TikTok, когда раздел молча простоял сутки.
✅
🛟 Запасной путь — MPSTATS
Проверили по официальной документации: у MPSTATS есть «товары продавца — только новинки за 7 дней» с названием, ценой, рейтингом, картинкой и датой появления. Нам хватит самого дешёвого тарифа. Если Мак или WB подведут, будет куда переключиться — перед покупкой нужно задать поддержке несколько вопросов, они записаны в WB_СБОР_С_МАКА.md.
26 сентября · Руслан · новинки конкурентов снова собираются
после блокировки WB
Wildberries не пускает сервер и отсекает автоматический браузер · сбор перенесён на Мак Руслана: обычный Chrome, как человек · первый магазин уже обновился на странице «Конкуренты»
✅
🔍 Нашли, почему ночью было ноль
Первая ночь в щадящем режиме Павла дала 0 магазинов из 12. Выяснилось сразу три вещи: WB перенёс свой каталог на новый адрес (сервер стучался по старому), автоматический браузер WB распознаёт и не пускает даже с чистого адреса, а обычный Chrome на домашнем Маке открывает магазины спокойно.
✅
🖥️ Сбор переехал на Мак Руслана
Раз в сутки, ночью, Мак сам открывает в Chrome магазины конкурентов, листает их с живыми паузами и в случайном порядке и читает карточки, которые сайт уже показал. Лишних запросов к WB нет — для него это обычный человек, который посмотрел дюжину магазинов. Список уходит на сервер, а «что новое» считается прежней логикой Павла. При первом признаке недовольства WB сбор сам останавливается до следующей ночи.
✅
🧹 Сервер больше не стучится в WB
Ночная задача на сервере выключена — она 80 раз за ночь получала отказ и только продлевала блокировку. Проверено на магазине Setner: 122 товара прочитаны за полминуты, ложных «новинок» нет. Как всё устроено и о чём договорились — в файле WB_СБОР_С_МАКА.md в проекте.
23 сентября · Павел · Телеграм плиткой
по следам встречи
карточки Телеграма стали плиткой, как в Твиттере и Музыке · на виду только название, подробности и рейтинг, остальное — под «Подробнее» · лента в три с половиной раза короче
✅
🧱 Плитка как в Твиттере и Музыке
Алина и Мария на встрече сказали одно и то же: в Твиттере видно много тем сразу, а в Телеграме приходится листать и вчитываться. Теперь темы Телеграма лежат такими же отдельными карточками — на широком экране четыре в ряд, на телефоне одна колонка. До этого «плитка» складывала в ячейку всю длинную карточку целиком, и легче от неё не становилось. На живых данных: сотня тем занимает в три с половиной раза меньше экрана, чем раньше.
✅
🙈 Лишнее — под «Подробнее»
На карточке остались название, категория, короткие подробности и рейтинг — то, по чему тема читается с первого взгляда. Скорость роста, спрос и разрыв на маркетплейсе, кнопки Wordstat / Google Trends / WB / Ozon, просмотры и реакции, источники и «Сгенерить принт» никуда не делись: они открываются кнопкой «Подробнее», когда тема уже заинтересовала. Работает и в плитке, и в списке.
✅
⊞ Плитка — по умолчанию
Дашборд Телеграма открывается сразу плиткой. Переключатель «список / плитка» справа над лентой остался, и выбор человека браузер запоминает — переключил на список один раз, дальше открывается список.
19 сентября · Руслан · «что происходит в ролике»
по следам встречи
главная просьба Алины по TikTok и Shorts закрыта · ролики описываются по картинке и звуку, а не только по речи · реклама больше не показывается · выяснилось, что «Видео США» — витрина рекламы
✅
🗣️ На карточке ролика — «Что в ролике»
Алина: «видно, что ролик залетел, и непонятно, в чём мем». Теперь у каждого ролика в TikTok «Видео США» и в YouTube Shorts есть блок с описанием по-русски: кто, что делает, в чём шутка; формат («POV-скетч», «танец под звук»); надписи с экрана с переводом; самая цепкая фраза — кандидат на принт. Свёрнуто — две строки, по клику — всё. Раньше описывалась только речь и только у верхних 15 роликов — у 37 из 50 не было ничего, потому что мем чаще в картинке, а не в словах.
✅
🧠 Честность важнее красоты
Перед выбором модели прогнали четыре ролика через три варианта. Дешёвая модель выдумала сюжет (в ролике была лама — она придумала «мыло как утешение»), дорогая отвечала в пять раз дольше и через раз молчала при том же качестве. Взяли среднюю с нулевой «фантазией»: четыре раза подряд — один и тот же верный ответ. Если она сама не уверена, ролик переспрашивается у дорогой; если и та не уверена — описания на карточке не будет вовсе, лучше пусто, чем неправда. Цена — треть копейки за ролик, повторные ролики бесплатны.
✅
🛒 Реклама не показывается
Решение Руслана: рекламные интеграции не описываем и не показываем. Сначала бесплатная отсечка по подписи (#ad, #…Partner, erid), потом то, что проскочило без пометки, ловит модель по сюжету (Chipotle, ESPN, Coors Light — проверено вручную, ни одной ошибки).
✅
⚠️ Диагноз: «Видео США» в TikTok — витрина рекламы
После фильтра выяснилось, что из 50 «трендовых видео США» рекламных интеграций — 47. Creative Center в этой вкладке показывает не мемы, а витрину для рекламодателей. Скорее всего, поэтому Алина оттуда ничего не брала. Органических роликов остаётся 2–3 в день, они и показываются. Что делать с вкладкой дальше — отдельное решение: оставить как есть, вернуть рекламу с пометкой или спрятать. В YouTube Shorts рекламы нет — там описаны все ролики.
✅
⚙️ Где это крутится
TikTok — на Маке Руслана вместе с ежедневным сбором (с сервера TikTok ролики не отдаёт). YouTube — на сервере сразу после утреннего сбора шортсов в 7:30 (с сервера YouTube качается, проверено). Описания пишутся один раз и хранятся — пока ролик держится в топе, он ничего не стоит.
21 сентября · Павел · принты и плитка
интерфейс
кнопка генерации принта вернулась на карточку Телеграма · в виде плитки колонки больше не сплющиваются, а идут слоями
✅
🖨 «Сгенерить принт» вернулась на карточку
Кнопку свернули 16 сентября по решению встречи с креаторами, но сам модуль всё это время лежал нетронутым — пряталась только кнопка входа. Теперь она снова на месте и стоит внизу карточки отдельной строкой, под источниками, а не в ряду значков у заголовка: так она не спорит с «Поделиться» и не мешает читать тему. Всё остальное в карточке осталось как было. Модуль вернулся ровно в прежнем виде: шесть промтов по разным углам, кубики для перебора составляющих, «Переделать промт», генерация картинки с ценником.
✅
🧱 Плитка: колонки внутри карточки легли слоями
В виде плитки карточка втрое уже, чем в списке, и три колонки внутри неё сжимались примерно до 160 точек — «Анализ тренда» переставал помещаться, шкалы налезали на подписи. Теперь в плитке блоки идут один под другим: сначала анализ, потом подробности, потом спрос и разрыв на маркетплейсе. Ширины каждому хватает, читается сверху вниз. В обычном списке всё осталось в три колонки, как было. Заодно выровняли сами плитки: раньше три карточки в ряду получались разной ширины, потому что содержимое растягивало их по-своему.
✅
⏱️ Проверили модуль после простоя — живой, но думает почти минуту
Пять дней кнопкой никто не пользовался, поэтому запустили один раз целиком: промты приходят, кубики работают, ценники считаются. Но от нажатия до появления промтов проходит около пятидесяти секунд — всё это время виден крутящийся значок с надписью «Claude придумывает промты». Это не поломка, так работает модель, но ожидание долгое: если надпись будет меняться по ходу дела, ждать станет спокойнее. Скажите, если стоит сделать.
20 сентября · Алина · одежда, концерты и деньги
три пункта
в блоке «что уже есть на WB» решение читается первой строкой · посчитан минимальный режим — он в двадцать раз дешевле, чем казалось · проверка афиши дала другой ответ, чем ожидали
✅
👕 «Одежды по теме нет» — теперь первой строкой
Раньше, чтобы понять главное, список приходилось листать глазами: на фильме «Оглянись» нашлись манга и кружки, а футболок не было — и это как раз сигнал занять нишу, но увидеть его можно было только вручную. Теперь наверху стоит вывод: «Одежды по теме нет — ниша свободна» зелёным, «Футболок нет, другой одежды 3» жёлтым или «Футболок по теме уже 96» красным. Рядом разбивка: сколько футболок, худи, кружек, постеров, книг. Товары считаются только те, что действительно по теме, — WB часто подмешивает совпадения по отдельным словам, и они в подсчёт не идут.
✅
💰 Держать свет включённым стоит ≈1 350 ₽ в месяц
На обсуждении звучал ориентир в двадцать-тридцать тысяч. Разобрал по статьям: почти весь бюджет — это две подписки Claude на 14 000, то есть оплата работы, а не сервиса. Если работу притормозить, подписки не нужны. Остаётся сервер, один вечерний разбор трендов вместо трёх и радар — около 1 350 ₽. Сбор Telegram и вечерний срез конкурентов не стоят вообще ничего. Отдельно записал, что выключать нельзя и почему: замеры просмотров, история всплесков и список артикулов конкурентов имеют смысл только как ряд без пропусков. Один пропущенный день стоит ноль рублей и портит графики на неделю вперёд. Разбор — на странице расходов, раздел «Минимальный режим».
✅
🎫 Концерты: гипотеза не подтвердилась, проблема оказалась крупнее
Собирались проверить, не теряем ли концерты из-за того, что берём афишу в одном месте. Померил — дело не в этом. Яндекс отдаёт ровно 15 событий на город, и это потолок самой страницы: прокрутил три раза, восемь и шестнадцать — каждый раз пятнадцать. То есть мы берём не афишу, а витрину «самое популярное», где половина вообще не концерты: «Белая. Снежная Королева», «Halloween Fest», «День рождения МУЗ-ТВ». При этом в чарте у нас девяносто артистов. Второй источник действительно нужен, но причина другая, и одной заменой площадки вопрос не решится — искать надо по артистам, а не по городу.
✅
⚠️ Попутно: утренний сбор концертов нестабилен
Пока мерил, заметил: на сайте сегодня четыре концерта, а тот же сбор, запущенный вручную через час, дал двадцать шесть. Значит, утренний прогон иногда возвращается почти пустым, и никто об этом не узнаёт — раздел просто выглядит бедным. Это отдельная поломка, записал её в задачи.
20 сентября · Алина · чистка выдачи
меньше мусора
военные сюжеты больше не просачиваются — нашлась причина, по которой прежний фильтр молчал · из радара X ушёл американский футбол, а спорное свернулось под кнопку
✅
🚫 Почему военные темы проходили мимо фильтра
Причина оказалась не в списке запрещённых слов, а в обрыве цепочки. Программа, которая пишет названия тем, получала указание: если сюжет украинский — оставь название пустым, тогда тема отсеется. Она так и делала. Но отсеивать пустые названия было некому — такой проверки в коде просто не существовало. В итоге тема доезжала до отчёта и показывала вместо названия сырой текст поста: «Момент прилёта по новой почте в Одессе». Теперь указание работает. Отдельно предусмотрено: если программа-аналитик оборвалась на полпути и не ответила по части тем, пустое название означает «ответа нет» — такие темы не удаляются, иначе один сбой вычистил бы половину отчёта.
✅
📋 Список запрещённых тем — по реальным случаям, а не на глаз
Поднял базу за три недели и выписал, что именно просочилось: «атака БПЛА по Ростову», «работа ЗРК по БПЛА ВСУ», «Германия готовит мобилизацию», «геймеров ждут на фронте», «прилёты по жилому дому». Прежний фильтр знал два слова — «украина» и «зсу», — этого не хватало. Стало двадцать восемь. Важная тонкость: ищем целые слова, а не куски. Иначе вместе с дронами улетал бы хоккеист Григорий Дронов, вместе с ракетами — «первая ракетка мира» и «что за ракета этот Джастин Бэйли», а вместе с фронтом — «нормальная фронтальная камера». Все эти случаи собраны в отдельную проверку: семнадцать тем должны отсеяться и двенадцать остаться, сейчас ноль ошибок. Заодно фильтр стал писать в журнал, что именно убрал, — без этого его невозможно донастраивать.
✅
🇺🇸 Радар X: американский футбол больше не занимает половину
Жалоба Алины: «Твиттер — любимый раздел, но там спортсмены, которых в России знают единицы, там не заработаешь». Причина нашлась в задании для отбирающей программы: там прямым текстом стояло «оставляй щедро… спортсменов, не только суперзвёзд». Переписали с разбором: MMA и UFC, бокс, европейский футбол, теннис, хоккей и Формула-1 в России смотрят — остаются. Американский футбол, бейсбол, NASCAR и студенческие лиги не приносят продаж — уходят, даже если стоят на первом месте в трендах США.
✅
🙈 Спорное не удаляем, а сворачиваем
Радар нужен ради опережающего сигнала: то, что сегодня локальная американская история, через неделю может стать мировой. Поэтому темы «понятно только в США» не выбрасываются, а прячутся под кнопку «🇺🇸 Только для США» со счётчиком — одно нажатие, и они на экране. Если таких тем в этот день нет, кнопки тоже нет, чтобы не мозолила глаза пустышкой. Сегодня, кстати, ноль: после правки отбора в выдачу попали английские футбольные клубы, бойцы UFC и мировые бренды.
✅
🤷 Запрет на угадывание
Проверяя результат, наткнулся на свежий мусор: темы «Эмма» и «Диана» с пояснением «имя может относиться к известной личности». То есть программа не знала, что это, и написала догадку. Теперь в задании прямо сказано: если в объяснении приходится писать «возможно» или «может относиться к» — значит, темы ты не понял, выбрасывай. Голое имя без опознания оператору всё равно ничего не даёт.
20 сентября · Алина · новинки конкурентов заработали
главная задача
самый весомый запрос встречи закрыт · видно, что каждый магазин залил за день и за неделю — с названиями, ценами и картинками · 18 новинок в первый же день
✅
🆕 «Что конкуренты залили» — работает
На вкладке «Конкуренты» появился блок с новинками каждого магазина: картинка товара, цена и название — то самое, ради чего всё затевалось. Алине нужно было именно название, чтобы сразу понять тему и проверить, есть ли она у нас. Карточка ведёт прямо на товар, есть переключатель «за день / за неделю» и кнопка выгрузки файлом с именем магазина. В первый же день программа поймала 18 новинок: девять у IVIPRINT, шесть у Marketplace Sales Management, две у Setner, одну у OTHERS.
✅
⏱️ Почему это заняло четыре дня, а не один вечер
Чтобы понять, что у магазина появилось нового, нужно сначала запомнить, что у него было. Wildberries ограничивает частоту обращений, и на магазинах в семь тысяч товаров обход обрывался на середине: за четыре вечера доходили до пятидесятой страницы из семидесяти. Решение оказалось не в терпении, а в постановке вопроса: полный каталог запоминать и не нужно. Каждый вечер мы смотрим только верхушку списка «сначала новинки» и останавливаемся, как только пошли знакомые товары, — вглубь магазина мы больше никогда не заглядываем. Значит, и запоминать надо только эту верхушку: две с половиной тысячи самых свежих товаров. Это запас на несколько дней даже для магазина, который заливает по 500 карточек в сутки. После этого база собралась у всех десяти магазинов за один вечер.
✅
🧪 Поймали ошибку, которую было бы видно только через сутки
На прогоне по календарю выяснилось: список «за неделю» собирался из тех страниц, которые программа прочитала сегодня. А в вечер, когда магазин ничего не залил, она останавливается на первой же странице — и вчерашние новинки из списка исчезали. То есть выгрузка работала бы правильно ровно до первого спокойного дня. Теперь найденные новинки хранятся отдельно и живут положенную неделю, а обложки не перекачиваются заново.
✅
🧹 Со страницы убран текст, который врал
Наверху вкладки «Конкуренты» висело обещание, что живые данные по новинкам будут «следующим этапом» — прямо над блоком, где они уже показаны. Заменили на то, что есть на самом деле, и отдельно оставили, что действительно впереди: соцсети конкурентов и подсказка «конкурент уже печатает это» на карточке тренда.
✅
📗 Excel с картинками принтов внутри
Просьба Алины: «чтобы хотя бы с телефона примерно понимать, что там происходит». Названия у этих продавцов почти ничего не говорят — «Футболка оверсайз с принтом» повторяется сотнями, и что именно залил конкурент, видно только по картинке. Теперь обложка лежит прямо в ячейке таблицы: файл открывается в Excel, Numbers и Google Таблицах на телефоне и показывает принты, не требуя ни интернета, ни переходов по ссылкам. Рядом название, цена, дата появления, артикул и ссылка на товар. Файлы собираются вечером вместе со срезом — обложки к тому моменту уже скачаны, поэтому это ничего не стоит. В файле всегда вся неделя с датой появления: нужный день отфильтровывается в Excel, а вот собрать пропущенные дни обратно уже нельзя.
✅
📄 Выгрузка теперь и в PDF
Вопрос из чата: в каком формате скачивается файл и нельзя ли в PDF. Отвечаем: была таблица для Excel. Добавили вторую кнопку — PDF: страница с картинками товаров, названиями, артикулами и ценами, которую удобно посмотреть с телефона и переслать. Таблицу оставили рядом, и вот почему: из PDF неудобно копировать названия и невозможно фильтровать, а Алина просила именно копировать название и проверять, есть ли такая тема у нас. Так что теперь две кнопки с подписями — «PDF» посмотреть и переслать, «Таблица» работать в Excel.
✅
❗ Чего всё ещё не хватает — магазина Алины
Программа следит за десятью магазинами из исследования. Но по описанию со встречи главный конкурент — это магазин с сотнями тысяч товаров и примерно пятьюстами карточками в день, а самый крупный в нашем списке — семь тысяч товаров. Похоже, мы смотрим не туда. Механизм готов и проверен: как только придёт ссылка на нужный магазин, он попадёт в вечерний срез и на следующее утро выдаст свои новинки.
16 сентября · Алина и Мария · первые правки со встречи
по следам встречи
встреча разобрана и опубликована списком · пятнадцать пунктов закрыто в тот же вечер · новости уехали в свою вкладку, «Всё подряд» получило внятное имя, книги разобраны по цифрам
✅
🗂️ Встреча разобрана по темам — 25 пунктов
Полтора часа разговора с Алиной и Марией разложены на список: что просили и как это предлагается сделать. Лежит на этой же вкладке выше. Отдельным пунктом записана неудобная правда: судя по описанию Алины, её главный конкурент — магазин с сотнями тысяч товаров, а мы всё это время следили за магазинами в тысячу раз меньше. Пока не появится ссылка на нужный магазин, выгрузка новинок будет исправной и бесполезной.
✅
💡 Тема закрепляется за человеком
Просьба Марии. Раньше светлая тема держалась только до заката: страница ориентировалась на время суток и сама уходила в тёмную, поэтому переключать приходилось каждый вечер. Теперь выбор, сделанный руками, окончательный — автоматика больше не вмешивается.
✅
🚫 Кнопка «Запустить» убрана из шапки
Мария нажала её, полторы минуты смотрела на котов в загрузке и закрыла. Кнопка запускала мгновенный пересбор трендов, но его давно отключили — слишком дорого по токенам, — а сама кнопка осталась висеть и грузиться впустую. Убрали.
✅
🔠 Верхнее меню стало читаемым
Названия разделов были мелкими и сливались. Шрифт увеличен и уплотнён на всех девяти страницах — теперь видно, где ты находишься.
✅
🛑 Генерация принтов свёрнута
Решение встречи: креаторы работают в своих инструментах, а раздел тратил токены. Кнопки генерации убраны с дашборда и из окна печати. Код остался на месте — если решим вернуться, это одна строка, а не переписывание.
✅
🔗 В Instagram появилась кнопка «Открыть»
Выяснилось, что переход на пост работал по клику на саму карточку, но об этом знали не все: стрелку «поделиться» принимали за переход. Теперь рядом стоит подписанная кнопка. Это не чинит главную беду раздела — там не те аккаунты, — но хотя бы то, что в нём есть, стало доступно.
✅
🏗️ Сбор новинок конкурентов: база набирается по вечерам
Чтобы считать новинки, нужно сначала запомнить, что у магазина было раньше. Wildberries ограничивает частоту обращений и на больших магазинах обрывает обход на середине — вчера из десяти магазинов полностью удалось обойти только три. Теперь прогресс сохраняется: следующий вечер продолжает с той же страницы, а не начинает заново. Товары из базы помечены и новинками не станут никогда — иначе в первый же день выгрузка показала бы «4500 новинок», что было бы неправдой.
✅
📰 Новости больше не забивают ленту
Новостная повестка растёт быстрее всего, поэтому всегда оказывалась наверху — хотя напечатать её нельзя. Теперь у новостей своя вкладка, а из общей ленты и из категорий они убраны. Совсем не выбрасываем: изредка там попадается годное, как случай с флагом на Эмпайр-стейт. Новостью считается тема, у которой все источники новостные — если её подхватил ещё и тематический канал, значит это уже не просто новость, и она остаётся в общей ленте. Сегодня из ста тем новостными оказались четыре. Заодно счётчик «Все» стал показывать то, что человек реально видит.
✅
❓ «Всё подряд» оказалось корзиной — назвали честно
Вопрос Марии: что это такое и зачем оно тут. Разобрались: это не отдельная подборка, а темы, которые ИИ не отнёс ни к одной из девяти категорий. Убрать вкладку значило бы спрятать два десятка живых тем, поэтому вместо этого она называется «Без категории» — теперь видно, что там лежит и почему.
✅
📚 Книги: посчитали, почему их не видно
Оказалось, дело не в программе. Книжные каналы собираются исправно — 399 постов за двое суток с четырнадцати каналов. Но средние просмотры у книжного поста около 2 900, а по всем источникам сразу — 37 600. Разница в тринадцать раз: каналы просто маленькие и честно конкурировать за место в топе не могут. Те пять книжных тем, что видны на дашборде, попадают туда только благодаря правилу «книги и аниме не терять». Вывод неприятный, но полезный: накручивать книгам рейтинг бессмысленно — топ разбавится слабыми темами. Нужны источники покрупнее, и их названия должны прийти от людей, а не от ИИ: в июне мы уже обожглись на выдуманных каналах.
✅
📱 Сайт проверен на телефоне
Девять страниц прогнаны в размере айфона: ничего не вылезает за экран, вбок ничего не уезжает. Добавлена иконка для «На экран Домой» — раньше айфон клал на рабочий стол скриншот страницы, теперь будет логотип с подписью. Полноэкранный режим намеренно не включали: в нём пропадает кнопка «назад». Честно про недостаток: верхнее меню на телефоне занимает три строки и съедает экран — это вопрос к общему редизайну, а не отдельная правка.
✅
⚖️ Чужие бренды запрещены в заданиях для нейросети
Находка Марии: наш промт при прогоне через нейросеть выдал корону Burger King, а за такой принт прилетает штраф. В задание добавлен отдельный запрет — логотипы, фирменные шрифты, узнаваемые детали, спортивная форма, автоэмблемы, лицензированные персонажи, — с оговоркой, что это правило важнее красоты промта. Генерация сейчас отключена, но запрет уже лежит на месте.
✅
📦 Конкуренты: обложки, выгрузка и вечерний срез готовы
Из блока задач по конкурентам закрыто всё, что не зависит от чужих решений: срез снимается в 21:00, обложки новинок хранятся у нас и показываются в списке, на карточке магазина есть кнопка «Выгрузить» — файл называется по магазину, внутри артикул, название, цена, рейтинг, отзывы, остаток, дата появления и ссылка. Не хватает одного: ссылки на магазин, который Алина считает главным конкурентом.
✅
🔄 Правки в скриптах перестали застревать у людей в браузере
Побочная находка, из-за которой часть правок могла до вас не доезжать: страницы обновлялись сразу, а вспомогательные файлы — вход, тема, учёт действий — браузер держал в кэше и мог неделями показывать старую версию. Теперь они обновляются вместе со страницей. Это же объясняет, почему смена темы могла «не сработать» до перезагрузки.
15 сентября · Павел · что кому нужно
статистика
закрыт последний пункт встречи 3 сентября · теперь видно не «зашёл / не зашёл», а какими кнопками человек реально пользуется · к встрече с креаторами после 21 сентября наберётся неделя наблюдений
✅
📊 Видно, чем человек пользуется, а не только что заходил
Главный вывод встречи 3 сентября был неприятный: дело не в программе, а в привычке — креатор тратит на неё пятую часть времени поиска, остальное ищет по своим источникам. Чинить это вслепую бессмысленно, поэтому сначала нужно увидеть, что он вообще открывает. Теперь при каждом заметном действии страница сообщает счётчику, что именно человек сделал: сменил рынок в TikTok, проверил спрос, открыл макет, скачал картинку, полез в подсказку. Сведено это человеческими словами, а не кодами: в отчёте читается как «Дашборд → Проверка спроса → Wordstat».
✅
🖱️ Что именно считается — 28 действий в девяти разделах
Дашборд: переключение вкладок и вида, проверка спроса через Wordstat и Google Trends, переходы на Wildberries и Ozon, список того, что уже продаётся, копирование артикула, запуск сбора вручную, открытие Printology, генерация и перегенерация картинки, скачивание макета, правка промта. TikTok: смена рынка с именем рынка, сортировки, фильтры, открытие ролика, прослушивание звука, избранное. Радар X, Окно печати, Музыка, Конкуренты, YouTube, Instagram — их фильтры, сортировки и карточки. На странице «Как пользоваться» считается, какие подсказки люди раскрывают: по ним видно, что осталось непонятным.
✅
👤 Действия связаны с конкретным человеком
Это заработало благодаря личным учёткам, сделанным в тот же день. Раньше в отчётах было «кто-то из Чувашии сидел дольше всех» — теперь видно, что делала Алина и что делал Марик. Записывать людей отдельно не пришлось: имя уже передаётся счётчику при входе, действия просто легли рядом.
✅
🔍 Проверено на живом сайте, а не «по коду»
Зашёл на сайт как обычный пользователь, понажимал вкладки, рынки и подсказки и убедился, что счётчик получает ровно те записи, которые должен. Заодно поймал две вещи, которые испортили бы отчёт: подпись вкладки уходила вместе со счётчиком («Аниме 3»), а он меняется каждый день и размножил бы одну вкладку в десяток строк, и вид сетки писался как «true» вместо «плитка». Обе поправлены до выкладки.
✅
📈 Где смотреть и когда появится смысл
Отчёт в Яндекс.Метрике: «Содержание» → «Параметры визитов», ветка «Действия». Заводить в Метрике ничего не нужно — этот вид отчёта работает сразу, поэтому и выбран. Отдельного сервера и денег это не стоит, как и планировали. Данные копятся с сегодняшнего дня: смотреть имеет смысл не завтра, а через неделю, когда наберётся поведение, а не пара случайных кликов.
15 сентября · Павел · личные учётки
доступы
общий пароль на всех заменён входом по логину и паролю — у каждого свой · теперь в статистике видно конкретного человека, а не «кто-то из Чувашии» · доступ отзывается по одному, не сбрасывая остальных
✅
👤 Вход по логину и паролю вместо одного общего пароля на всех
Было так: один пароль знали все, и понять, кто именно заходил, было невозможно — а если он утекал, приходилось менять его сразу всем. Стало: на входе два поля, логин и пароль, и работает только целая пара — чужой пароль с другим логином не пустит. Учётки: общая admin у Павла с Русланом и личные у Алины, Мари и Марика. Открытых паролей в файлах сайта больше нет, там только зашифрованные отпечатки, поэтому подсмотреть пароль в исходном коде страницы уже нельзя. Регистр логина не важен, чтобы человек не бился с «Admin» против «admin». Список людей со статусами ведётся в отдельной таблице ACCOUNTS.md, пароли туда намеренно не попадают.
✅
📊 Статистика теперь знает, кто именно смотрит
Главная претензия со встречи 3 сентября: в Метрике видно только «кто-то из Чувашии сидел дольше всех», а нужно понимать, как работает конкретно Алина и конкретно Марик. Причина была не в счётчике, а во входе: пока пароль один на всех, различать людей нечем. Теперь после входа страница сообщает Метрике, кто открыл — и в отчётах появляется конкретный человек. Работает на всех четырнадцати страницах сайта.
✅
🔒 Доступ отзывается по одному человеку, а не сбросом всем
Раньше отключить одного означало сменить пароль всем и заново раздать его оставшимся. Теперь достаточно убрать строку человека — он вылетит при следующем переходе между страницами, остальные даже не заметят. Под это сделан скрипт: одна команда печатает новый пароль и готовую строку для вставки, выдача доступа занимает минуту. Поэтому и отказались от идеи менять пароли каждую неделю: такие ритуалы через месяц перестают выполняться, а точечный отзыв решает ту же задачу и тогда, когда это действительно нужно.
✅
⚠️ Что этот шаг НЕ чинит — записано честно
Проверка пароля пока происходит в браузере, а не на сервере. Это значит: список отпечатков открыт, и пароль теоретически можно подобрать перебором, а платные кнопки генерации картинок по-прежнему может дёрнуть тот, кто знает их адрес. То есть сделан учёт, а не защита. Настоящая серверная авторизация — следующий шаг, она же закроет платные запросы; пока это прямо написано и в ACCOUNTS.md, и в самом файле входа, чтобы никто не считал вопрос закрытым.
✅
🚪 Все прежние сессии закрылись — пароли раздаются заново
Старый общий пароль больше не действует, поэтому у всех, кто был залогинен, доступ закрылся, включая открытые вкладки. Это совпадает с решением со встречи 3 сентября: неделю смотреть, кто вернётся. Только теперь возвращение будет видно поимённо, а не по числу заходов с разных адресов.
11–15 сентября · Руслан · TikTok
предупреждение заранее
разобрались, почему TikTok отваливается каждые три дня · Telegram теперь предупреждает за сутки, а не после поломки · проверка живёт на сервере и работает даже при выключенном Маке
✅
🔎 Понятно, почему TikTok отваливается каждые три дня
Пропуск, по которому программа читает TikTok, выдаётся ровно на трое суток в момент настоящего входа — и ночные продления, которые Мак делает сам, этот срок не двигают, только тикают вниз. По записям это видно наглядно: 6 сентября после входа было три дня, 7-го — два с половиной, 8-го — один, 9-го — шесть часов, 10-го — ноль и простой. Раньше это выглядело как «TikTok опять что-то сбросил», а на самом деле это расписание: раз в три дня нужно две минуты живого входа, иначе вкладка встаёт. Заодно выяснилось, что попытка «обновить вход» при ещё живом пропуске ничего не даёт — программа видит, что вход есть, и выходит, не обновив срок. Всё записано в памятку, чтобы в следующий раз не искать заново.
✅
⏳ Telegram предупреждает за сутки, а не после поломки
До этого уведомление приходило постфактум — когда вечерний сбор уже упал. Теперь программа смотрит, сколько пропуску осталось, и если меньше полутора суток — присылает: «ключ истекает такого-то во столько-то, скажи агенту «почини тикток»». Если ключ всё-таки истёк — приходит второе, отдельное сообщение, что вкладка стоит. Уведомление о самом разлогине тоже остаётся как страховка.
✅
🖥️ Проверка переехала на сервер — работает даже при выключенном Маке
Первая версия предупреждения жила только на Маке, и 12–13 сентября это сразу показало слабое место: Мак два дня был выключен, предупреждать было некому, ключ истёк ночью 13-го, и вкладка TikTok простояла до утра 14-го. Теперь ту же проверку раз в шесть часов делает сервер — он работает круглосуточно, у него та же копия ключа и тот же бот. Предупреждение о следующем истечении придёт 16 сентября, сам ключ живёт до утра 17-го.
✅
🔑 Два входа и два догнанных сбора
10 сентября вечером и 14 сентября утром вкладка вставала ровно по описанному расписанию — оба раза вход выполнен заново, ключ передан на сервер, сбор прогнан с нуля (100 хэштегов по России, по 50 по США и Корее, 50 роликов США). 11 сентября вечерний автосбор отработал полностью сам, без участия человека — механизм в порядке, дело только в своевременном входе.
11–12 сентября · Павел · обучение менеджеров
новая страница
появилась страница «Как пользоваться» — инструкция для нового менеджера · главное в ней не описание кнопок, а сама логика работы: несколько ставок вместо угадывания одной темы · заодно нашли и починили поломку обложек TikTok, которую создал сам деплой
✅
🎯 Главное: объяснена сама логика работы, а не набор кнопок
Первая версия инструкции описывала разделы и получилась сухой — человеку, который этим уже занимался, она читалась как реклама. Переписали, начав с честного: заранее не знает никто, ни менеджер, ни программа. Поэтому работа устроена как ставки — набрал кандидатов, быстро отсеял, выложил не одну карточку, а три-пять по разным темам, через две недели посмотрел статистику Wildberries и оставил то, что сыграло. Работает это потому, что одна попытка стоит недорого: макет рисуется за полминуты, карточка заводится за полчаса. Отсюда сразу понятно, зачем программа: не чтобы угадать победителя, а чтобы каждое утро было из чего выбирать и чтобы проверка занимала минуты вместо полудня. Заодно снимается страх «а если не продастся» — неудачная карточка это норма, заложенная в схему, а не провал менеджера.
✅
📘 Страница «Как пользоваться Trend Hunter»
Инструкция для человека, который первый день в этой работе. Порядок работы разложен на шесть шагов — что открыть, как читать карточку темы, как проверить спрос и что уже продаётся на Wildberries, когда жать кнопку макета и почему выкладывать надо несколько карточек. Без единого технического слова, подробности спрятаны под «раскрыть», чтобы объём не пугал. Ссылка появилась в верхнем меню на всех страницах.
✅
🧭 Десять примет, по которым отбирают тему
Знание, которое раньше жило только в голове и передавалось на словах. Первые семь примет отвечают на вопрос «наденет ли человек»: есть ли готовый образ, это высказывание о себе или пересказ чужой новости, есть ли у темы своя аудитория, какая под постом эмоция. Последние три — про деньги и риски: ищут ли тему в поиске, свободно ли место на полке, чисты ли права. У каждой приметы примеры «да / нет» и указание, где именно в программе её проверить. Отдельно оговорено, что это приметы, а не гарантии: тема может пройти все десять и не дать заказов — поэтому и работаем несколькими ставками.
✅
📡 TikTok, Твиттер и Музыка описаны наравне с Телеграмом
Исправлен перекос первой версии, где всё крутилось вокруг Телеграма, хотя на встречах не раз звучало, что другие разделы тоже нужны. По каждому написано, что он добавляет и что лежит в его карточке. TikTok показывает форму темы, а не пересказ, плюс ролики США с расшифровкой речи. Твиттер даёт опережающий сигнал — но записано честно, что задержка в две недели это наша гипотеза, а не проверенное правило. Музыка — раздел, где известна дата в будущем: у концерта есть день и город, а программа сама показывает артистов, которые и в чарте, и едут с туром. Под каждым разделом указано, как часто его открывать, чтобы это не выглядело четырьмя работами вместо одной.
✅
✂️ Убраны самоуверенные формулировки — часть из них была просто неверна
В первой версии было «единственный раздел, откуда можно проверить спрос» и «единственный, откуда можно нажать кнопку принта». Проверили по коду: кнопка макета есть ещё и в «Окне печати», а проверка спроса — ещё и в западном радаре. То есть текст не просто хвастался, а врал. Прошлись по всей странице и вычистили превосходные степени, добавив вместо них оговорки там, где они честны: разборы тем пишет ИИ и бывает мимо, расшифровка речи на шумных роликах ошибается, вердикты в подборке тоже машинные и их стоит перепроверять, выдача маркетплейса зависит от формулировки запроса. Для людей, которые этим уже занимались, такой тон читается как разговор по делу, а не как продажа.
✅
🗒️ Сценарий получасового созвона с администраторами производства
К странице приложен отдельный план встречи: поминутный тайминг на 30 минут, что показывать на экране в каждом блоке, какие фразы произнести дословно и чего не говорить. Отдельно — ответы на вопросы, которые почти наверняка зададут: гарантирует ли программа продажи, кто рисует картинку, можно ли печатать чужие логотипы, почему данные не в реальном времени.
✅
🖼️ Обложки роликов TikTok разъехались с самими роликами — нашли и восстановили
Обнаружилось во время выкладки: обложки видео США собираются на Маке Руслана и лежат только на сервере, а в копии Павла они остались с 4 июля. Обычная отправка файлов на сервер молча заменила сентябрьские картинки июльскими — на вкладке TikTok под сегодняшними роликами показывались чужие кадры. Все пятьдесят обложек вернули на место, скачав их заново прямо из TikTok, и сверили с роликами.
✅
🛡️ Чтобы это не повторилось — правило в инструкции для агентов
Причина поломки была не в программе, а в правилах выкладки: папки с обложками не значились в списке «не трогать при отправке на сервер», хотя собираются они не у нас на компьютере. Список дополнен, рядом объяснено почему — и отдельно записано, что сама программа такую подмену не лечит: если файл с нужным именем уже лежит, она его не перекачивает. Теперь любой агент, который будет выкладывать проект, не наступит на это второй раз.
9 сентября · Руслан · TikTok
сбор восстановлен
хэштеги отстали на двое суток — Мак уснул посреди сбора · срез пересобран и выложен · остальные 14 разделов всё это время шли без сбоев
✅
🌙 Найдена причина: Мак уснул посреди вечернего сбора
Сбор 8 сентября начался в 21:03 и должен был занять минут пятнадцать, но Мак ушёл в сон — программа доработала только в восемь утра. К этому моменту она честно собрала 94 хэштега, но отправить их на сервер не смогла: после пробуждения интернет ещё не поднялся, и все попытки упали с «сеть недоступна». Получилось обидно: данные собрались и остались лежать на Маке, а сайт продолжал показывать позавчерашнее. Это не поломка программы и не проблема с доступом к TikTok — просто неудачное совпадение сна и вечернего расписания.
✅
📊 Срез пересобран заново и выложен на сайт
Не стали отправлять вчерашнее — собрали всё с нуля: 99 хэштегов по России, по 50 по США и Корее, 50 самых просматриваемых роликов США с обложками и распознанной речью. Вкладка TikTok снова показывает сегодняшнее. Заодно прогнали общую проверку: звуки TikTok, YouTube Shorts, Instagram, музыка и концерты, западный радар, печатабельность, конкуренты на WB и прайс калькулятора собирались всё это время без единого пропуска — из пятнадцати разделов отставал только один.
6 сентября · Руслан · TikTok
починка сбора
TikTok разлогинил нашу программу и вкладка три дня показывала старое · доступ восстановлен, свежие тренды снова на сайте
✅
🔑 Восстановлен доступ к TikTok — вкладка ожила
5 сентября TikTok сам сбросил вход, которым программа пользуется для чтения трендов. Обычно она продлевает его молча каждую ночь, но после сброса продлевать стало нечего, и вкладка TikTok три дня показывала подборку от 3 сентября — со стороны это выглядело как «ничего не происходит». Вход выполнен заново вручную, доступ передан на сервер, и программа снова читает TikTok. Свежего доступа хватает примерно на трое суток, дальше он продлевается сам — на всякий случай при сбросе в Telegram приходит уведомление, что нужен ручной вход.
✅
📊 Собран свежий срез: хэштеги трёх стран и видео США
Сразу после восстановления доступа прогнали полный вечерний сбор, не дожидаясь следующего дня: 100 хэштегов по России, по 50 по США и Корее, 50 самых просматриваемых роликов США с обложками и распознанной речью. Всё это уже на сайте. Заодно проверили остальные разделы — звуки TikTok, YouTube Shorts, Instagram, музыка и концерты, западный радар, печатабельность и конкуренты на WB собирались всё это время без перебоев, ничего кроме TikTok не пострадало.
4 сентября · Павел · Узбекистан
новая страница
страница «Шеростан» — план поездки в Ташкент на 14 дней, где под каждым днём объяснено, почему именно так · исследование рынка Узбекистана разобрано критически · готов промт для Deep Research
✅
🗺️ Страница «Шеростан» — план поездки на 14 дней с аргументами под каждым днём
Не расписание «пришёл — ушёл», а объяснение, почему каждый день устроен именно так: почему первая продажа идёт через Telegram и офлайн, а не через Uzum; почему заготовки покупаются малыми партиями, а склад не нужен; почему за один цикл меняется ровно одна переменная; почему решение принимается 27 сентября, а третья неделя — его следствие, а не часть. Плюс критерий GO / ITERATE / STOP, стоп-правила по ходу поездки и список того, чего в эти две недели нет осознанно. Открывается по прямой ссылке sherostan.html за паролем. Рядом лежит расширенный вариант на 21 день — sherostan-21.html.
✅
🔍 Исследование рынка Узбекистана — что в нём правда, а что нельзя брать на веру
Разобраны отчёт Deep Research, бриф и трёхнедельный план. Сильное: гипотеза лага (тренд из рунета приходит в Узбекистан через 1–4 недели — наш радар становится опережающим), Uzum за Cloudflare (решается прокси, как с WB), закон о персданных не требует сервера в стране. Слабое: список из 60 Telegram-каналов не готов к импорту — в нём биржи игровых аккаунтов, каналы ниже порога просмотров и перекос в новости; «потеря 60% спроса» и цена $25–50 — не факты, а прикидки. Найдено, чего нет ни в одном документе: скор узбекских трендов просядет на ~28 баллов из-за отсутствия платформ и Вордстата, агрегатор рассыпает узбекские слова на латинице/кириллице, а массовое вступление в каналы с одной Telethon-сессии может уронить и российский сбор.
✅
📝 Промт для Gemini Deep Research по Узбекистану
Составлен так, чтобы ответ ложился прямо в чек-лист переноса: по каждому узлу нашей системы — узбекский аналог, доступ, цена, риск и вердикт «переносится / нужна замена / дыра». Лежит в docs/research/.
3 сентября · Павел · доступы и план
по итогам встречи
пароль на вход сменён, все прежние сессии сброшены · разбор встречи опубликован отдельным блоком в начале этой вкладки
✅
🔑 Пароль на вход сменён — все прежние сессии сброшены
Решение со встречи: за месяц на сайт заходили с 54 разных адресов, и не все они наши; те, кому доступ выдавался последними, пользуются им почти никак и обратной связи не дают. Пароль сменён — и это не просто новая строка на входе: пропуск, который браузер запоминает после входа, привязан к самому паролю, поэтому у всех, кто был залогинен, доступ закрылся сразу, включая уже открытые вкладки. Заново войти сможет только тот, кому новый пароль передадут лично. Теперь неделю смотрим по счётчику, кто вернулся: это и будет честный ответ, кто программой действительно пользуется. Новый пароль здесь намеренно не пишем — он передаётся в личном сообщении.
✅
🗂️ Всё, что прозвучало на встрече, разложено по темам
Разбор встречи 3 сентября опубликован отдельным блоком в начале этой вкладки — 23 пункта по девяти темам: доступы и статистика использования, новые артикулы конкурентов на WB, расшифровка видео за пределами TikTok, Spotify и афиша концертов, фанатские ниши, тип товара в блоке «что уже есть на WB», редизайн, работа с креаторами и минимальный режим поддержки. По каждому пункту написано не только что просили, но и как это предлагается сделать — чтобы к следующему созвону обсуждать не «что бы хотелось», а конкретные решения. В двух местах предложение расходится с тем, что звучало на встрече, и это отмечено прямо в тексте: задание креаторам лучше ставить через результат, а не через «сидите в программе 50% времени», а новизну карточек на WB надёжнее считать у себя сравнением вчерашнего среза с сегодняшним, а не полагаться на фильтры самого WB — плашку «new» они уже убрали.
3 сентября · Павел · калькулятор
файл 2026
перенесён новый файл расчётов «Калькулятор заказов 2026» · надбавка за размер принта стала ступенчатой · 3D и вытравка подорожали · совпадение с файлом проверено на 88 расчётах
✅
📐 Надбавка за размер принта стала ступенчатой
Раньше она считалась по формуле и росла плавно: два принта почти одинакового размера могли получить 30% и 35% — объяснить клиенту, почему цена разная, было тяжело. Теперь пять понятных ступеней: до 660 см² надбавки нет, дальше 20%, 25%, 30%, 50%, а от 6300 см² — 100%. В деньгах это заметно в двух местах. Средние принты подешевели примерно на 5% (например, 50×60 в три цвета на 200 штук: было 177 ₽ за штуку, стало 168 ₽). А большие 70×90 подорожали сразу на 22% — раньше на этом размере надбавка была 50%, теперь предельные 100% начинаются на 450 см² раньше (стало 252 ₽ вместо 206 ₽ за штуку). В калькуляторе под полем размера теперь прямо написано, в какую ступень попал принт и до какого размера цена не изменится — видно, где она скакнёт.
✅
🧊 Печать 3D подорожала: теперь дороже и матрицы
До этого 3D умножало в 2,5 раза только саму печать. В новом файле появилась отдельная строка «печать 3D за матрицу»: матрицы на таком заказе считаются вдвое дороже. На заказе 30×30 в два цвета на 100 штук цена выросла с 375 до 426 ₽ за штуку, на 40×50 в три цвета на 300 штук — с 293 до 322 ₽. Подсказка в калькуляторе теперь так и говорит: 3D удорожает и печать, и матрицы.
✅
🎨 Вытравка подорожала с +30% до +40%
Надбавка за вид краски на вытравке поднята на десять пунктов. Заказ 30×30 в два цвета на 200 штук: было 115 ₽ за штуку, стало 123 ₽. Напоминаем то, что уже разбирали с технологом и что не является ошибкой: вытравка всё равно может выходить дешевле пластизоля, потому что ей не нужна подложка — это минус одна матрица и в цене за штуку, и в оплате матриц.
✅
🧾 Цена со ставкой НДС 22% считается самостоятельно
Раньше эта строка получалась пересчётом из уже округлённой цены со ставкой 5% — то есть округление делалось один раз и потом растягивалось. Теперь у неё свой расчёт: своё ограничение сверху и своё округление до рубля, ровно как в новом файле. Разница обычно в пределах рубля, но в пограничных заказах цифры перестали расходиться с файлом.
✅
🐞 Опечатку, о которой мы предупреждали 25 августа, в файле исправили
В августовском файле был лишний знак, из-за которого в обычном заказе без 3D цена печати умножалась на ноль — заказ считался втрое дешевле себестоимости. Тогда мы это нашли, в калькуляторе сделали правильно и попросили поправить у себя. В новом файле формула написана верно — то есть калькулятор всё это время считал так, как теперь считает и файл. Заодно закрылся наш давний вопрос про пустую ячейку в ограничении итоговой цены: ссылку на неё из файла убрали, ограничение теперь просто «цена образца» — как и было сделано на сайте.
✅
🔍 Совпадение с файлом проверено на 88 расчётах
Чтобы не сверять цифры на глаз, мы, как и в прошлый раз, пересчитываем настоящие формулы файла программой и сравниваем с калькулятором. Прогнали 88 разных заказов — все ступени размера по обе стороны каждой границы, все краски и ткани, ПАФ и флюру, все тиражи от 1 до 12 000, оплаченный образец, скидки и надбавки, предел в 11 матриц. Сверялось по 15 величинам сразу, всего 1306 чисел: расхождений ноль. Единственное отличие сознательное — там, где файл показывает ошибку «#ЗНАЧ!», калькулятор пишет человеческим языком, что такой заказ напечатать нельзя и почему. Сам прайс печати и цены матриц в этом файле не менялись — общего повышения, как в августе, на этот раз нет.
2 сентября · Руслан
закрыт последний запрос со звонка
в карточке тренда видно, что уже продаётся на Wildberries — с артикулами · список отсеивает товары не по теме · на сам WB заходить не нужно · закрыты все три пожелания встречи 22 июля
✅
🛒 «Что уже есть на WB» — прямо в карточке тренда
Главное пожелание со звонка 22 июля звучало дословно так: «чтобы не заходить на сам Wildberries». Раньше, чтобы понять, забита ниша или свободна, приходилось копировать название тренда, открывать WB и листать выдачу руками. Теперь в карточке рядом с кнопками «Wordstat» и «Google Trends» появилась кнопка «Что уже есть на WB»: она разворачивает список товаров по выбранному ключу — наименование, цена, число отзывов и артикул. Артикул кликабельный: нажал — он в буфере, можно сразу вставлять куда нужно. Сверху стоит главное число — сколько товаров именно по теме: «98 из 100» значит ниша забита, а «по теме — ничего» значит окно печати открыто. Проверять нужно мерч-ключ («тренд + футболка»), такие ключи в карточке подставляются сами: по голому «кошка оскар» Wildberries отдаст кошачьи консервы, а по «кошка оскар футболка» — 42 футболки, то есть реальную нишу. Чтобы на этом не спотыкаться, при выборе голого ключа список сам подсказывает нажать ключ с принтером.
✅
🔓 Препятствие, из-за которого это откладывали, оказалось обходимым
Этот пункт с 22 июля лежал с пометкой «не сделать: WB не пускает наш сервер». Так и было — но мы ходили за товарами тем способом, будто открываем сайт в браузере, а такие визиты с зарубежного сервера Wildberries действительно блокирует. Сегодня проверили другой путь: у WB есть служебный адрес, который отдаёт те же самые товары не картинкой страницы, а данными. С нашего сервера он отвечает спокойно. Проверили и с рабочего компьютера, и прямо на сервере, прежде чем что-то писать. Ни платного прокси, ни доступа к чужому кабинету, ни API-токена продавца для этого не понадобилось.
✅
🎯 Список отсеивает товары не по теме
Первая версия показывала всё, что вернул Wildberries, — и этого оказалось много лишнего: WB ищет по части слов запроса. По тренду «кошка оскар» он выдавал «Футболка с именем Оскар охотник» — к коту это отношения не имеет. Сначала проверили вашу идею фильтровать по продавцам-печатникам: не годится — печатают все подряд, у одного ключа 36 товаров от двадцати разных продавцов, а такой список пришлось бы вести руками, и он прятал бы как раз новых конкурентов. Категория тоже не помогает: почти всё, что находит WB, и так футболки. Поэтому сверяем название товара с самим трендом: считается, сколько слов тренда есть в названии, и отдельно ищется фраза целиком — чтобы «Футболка Чё за лев» засчиталась тренду «чё за лев этот тигр». Латиница и кириллица считаются одним словом: «Лабубу» и «Labubu» — один принт, «брейнрот» и «brainrot» — тоже. Сверху теперь стоит главное число: сколько товаров именно по теме. Остальное не выброшено — лежит под ссылкой «показать частичные совпадения», чтобы мы ничего от вас не прятали.
✅
🔁 Смена ключа больше не оставляет старый список на экране
Поймали на живом примере (тренд «Аниме Вечная воля»). Список строится по тому ключу, который выбран в момент нажатия кнопки. Человек нажимал кнопку с общим ключом «вечная воля», получал список кружек и значков с подписью «показано по названию тренда» — а потом выбирал ключ с принтером, и старый список оставался висеть. Со стороны это выглядело так, будто программа спорит: «я же выбрал футболку». Теперь при смене ключа прежний список сразу убирается, а сама подсказка перестала быть поучением и стала кнопкой: «Показать по “вечная воля футболка”» — одно нажатие, и список пересобирается по нужному ключу. Заодно убрали из текста слово «голый ключ»: теперь пишем по-человечески, что это название тренда целиком и WB отдаёт по нему что угодно.
✅
🙂 Если WB не ответит — будет понятная фраза, а не пустота
Данные Wildberries по своей природе «вчерашние», и сам сервис иногда отвечает не с первого раза. Поэтому список ведёт себя предсказуемо: пока грузится — пишет «Смотрю, что уже есть на WB…»; если не получилось — говорит человеческим языком «WB не ответил, попробуйте через минуту»; если по ключу действительно ничего нет — прямо сообщает, что ниша пустая. Один и тот же запрос десять минут держится наготове и не дёргает WB заново, а слишком частые нажатия мягко притормаживаются — чтобы нас не приняли за робота и не закрыли доступ.
✅
📊 Во вкладке «Встреча 22 июля» появился статус: 3 из 3
Разбор того созвона на сайте заканчивался списком пожеланий — и было непонятно, что из них уже сделано. Добавили наверх блок «Статус на 2 сентября»: по каждому из трёх запросов видно, что именно закрыто и когда, плюс короткий список того, что успели сделать с тех пор (265 Telegram-каналов вместо 146, рост тренда по часам, починенный ночной сбор). Теперь встречу можно начинать не с пересказа по памяти, а с открытой ссылки.
29 августа · Руслан
чистота и безопасность
Код теперь проверяется автоматически · включена постоянная проверка на уязвимости · снято 93 ложные ошибки из 180 · главная дыра в защите пока открыта, о ней ниже
✅
🛡️ Каждое изменение кода теперь проверяется на уязвимости
Проект пишется через ИИ-агентов, и раньше никто не смотрел за ними в четыре глаза: что написали, то и поехало на сервер. Теперь у агента постоянно включён отдельный проверяющий, который читает каждую правку и ищет типовые дыры — зашитые в код пароли и ключи, места, где чужой текст может подставиться в запрос к базе, небезопасные обращения к внешним адресам. Всего около тридцати видов проблем. Ставится один раз и дальше работает само. Важно, что включено это на уровне проекта, а не на одном компьютере, — значит, работает и у Павла тоже, ему достаточно обновиться.
✅
🔎 Агент перестал угадывать и начал видеть настоящие ошибки
До сих пор ИИ-агент, правя код, во многом действовал по памяти: понять, что вот здесь значение может оказаться пустым и всё сломается, он мог только догадкой. Подключили инструмент, который разбирает код по-настоящему — так же, как это делает среда разработки у программиста, — и сообщает агенту реальные ошибки сразу после каждой правки. Проще говоря, агент теперь замечает свою ошибку в тот же момент, а не через неделю, когда бот молча упадёт на сборе.
✅
🧹 Разобрали 180 предупреждений: 93 оказались выдумкой
Первый же запуск проверки выдал 180 ошибок — в таком виде инструмент бесполезен, на него просто перестают смотреть. Разобрались: больше половины были ложными и все по одной причине. Описание таблиц базы данных было сделано в устаревшем стиле, из-за которого проверка считала, что в полях лежат не числа и не тексты, а какие-то служебные объекты, и ругалась на каждое сравнение. Переписали описание в современный вид. Отдельно убедились, что структура самой базы при этом не изменилась ни на букву — сравнили команды создания всех шести таблиц до и после, они совпали точь-в-точь, так что данным на сервере ничего не грозило. Осталось 87 настоящих замечаний, они собраны в одном месте и разбираются отдельно.
✅
📋 Появились правила «так у нас не делают»
В инструкцию для агентов дописали то, чего там не было вообще: чем проект запускается, чем проверяется, и пять коротких правил, нарушать которые нельзя. Например: пароли и ключи живут только в настройках, а не в коде; платную страницу нельзя выкладывать без защиты; ошибку нельзя проглатывать молча, человек должен увидеть понятное объяснение; данные, которые собирает сервер, нельзя затирать со своего компьютера. Раньше каждый агент в начале работы гадал об этом заново и иногда угадывал неправильно.
✅
🧽 Мелкая уборка по всему коду
Заодно прошлись по мелочам, до которых обычно не доходят руки: убрали мёртвые куски, оставшиеся от прошлых версий, нашли и убрали задвоенную страну в списке для музыкального модуля, и — самое полезное — починили логи. Раньше, когда генерация принта падала, в журнал попадала только внешняя обёртка ошибки, а настоящая причина терялась; теперь видно, что именно случилось. Проверка кода после уборки проходит начисто, ноль замечаний — значит, любое новое замечание будет настоящим сигналом, а не шумом.
⚠️
⚠️ Осталось открытым: сайт и деньги защищены только на словах
Честно фиксируем то, что не сделано. Пароль на входе на сайт проверяется прямо в браузере, а не на сервере, — значит, его видно любому, кто откроет исходный код страницы. Хуже того, служебные адреса, через которые страницы получают данные, отвечают вообще без пароля: их можно дёргать напрямую, минуя вход. Среди них есть платные — генерация принтов и картинок идёт за наши деньги. Разобрали варианты. Стандартное решение даёт при входе серое системное окошко вместо нашей страницы и рискует поломать открытие ссылок из Telegram — от него отказались: опыт входа менять нельзя. Договорились на другой путь, при котором внешне не изменится ничего: та же страница, то же поле, тот же пароль, но проверяет его сервер и выдаёт браузеру пропуск. Отложено сознательно, не забыто.
25 августа · Павел · калькулятор
новый прайс
перенесён новый прайс от 26.08 · нашли опечатку, из-за которой обычные заказы считались втрое дешевле · повышение цен уже внутри файла
✅
💵 Новый прайс перенесён в калькулятор
Прислали новый файл расчётов. Перенесли всё: таблица цен за печать переписана целиком (в среднем дороже на 18%), цена матрицы стала зависеть от размера и выросла с 1000–1500 до 1500–3000 рублей, подбор по Pantone подорожал с 1000 до 1500 за цвет, флюра и ПАФ с 20 до 30 процентов, готовые толстовки с 40 до 50. Появилась вторая ступень надбавки за формат: от 3500 см² плюс 50%, от 6750 см² плюс 100%. Печать 3D больше не добавляет три матрицы, а умножает цену печати в 2,5 раза. Вместо строки «счёт без НДС» теперь две ставки прайса — 5% и 22%. Совпадение с новым файлом проверено на 69 расчётах по десяти величинам сразу.
✅
🐞 В новом файле нашлась опечатка, ломающая почти все заказы
В формуле цены за единицу оказался лишний знак, из-за которого при выключенной 3D-печати — то есть в любом обычном заказе — цена печати умножалась на ноль. Проверили пересчётом настоящих формул: заказ 30×20 в один цвет на 100 штук файл считает по 30 рублей вместо 118, в итог попадают только матрицы, а сама печать теряется. Если бы по этому файлу начали считать заказы, их продавали бы втрое дешевле себестоимости. В калькуляторе поведение восстановлено так, как задумывалось: без 3D цена обычная, с 3D — в 2,5 раза выше. Файл стоит поправить и у себя.
✅
📊 Просили поднять цены на 20% — оказалось, они уже подняты
Просьба была увеличить стоимость расчётов на 20%. Перед тем как накидывать наценку, сравнили новый файл со старым на одних и тех же заказах: новый уже даёт на 20–28% дороже. То есть запрошенное повышение заложено в сам файл, и если бы мы сверху включили ещё 20%, цены выросли бы почти в полтора раза от прежних — вероятно, неожиданно для всех. Наценку оставили нулевой, поле для неё в калькуляторе никуда не делось и включается в любой момент.
25 августа · Руслан
починка
Звуки TikTok снова обновляются · четыре дня вкладка показывала данные от 21 августа · причина — закончился платный доступ, поставили новый
✅
🎵 Вкладка «Звуки» ожила — на ней снова сегодняшние тренды
С 21 августа звуки TikTok перестали обновляться: сервис, который отдаёт нам трендовую ленту TikTok, отвечал «оплатите доступ» — на старом ключе закончились кредиты. Бот в этой ситуации повёл себя правильно и не стал затирать вкладку пустотой, поэтому на сайте молча висел срез четырёхдневной давности и выглядел как живой. Руслан прислал новый ключ, прописали его на сервере, перезапустили бота и сразу же прогнали сбор вручную, не дожидаясь утреннего расписания. Собралось 10 звуков по США и 10 по России — с реальным «в скольких роликах используется», просмотрами, правами на коммерческое использование и словами из трека. Запаса на новом ключе — около 25 000 запросов, при нашем расходе примерно 6 запросов в день этого хватит очень надолго.
✅
🛰️ Западный радар X снова отбирает темы, а не вываливает всё подряд
Заодно проверили остальные источники — и нашли вторую тихую поломку, того же рода. На странице «Западный радар» список тем должен проходить через ИИ: он выбрасывает местную политику и биржевые сводки, переводит название на русский и объясняет, почему тема может зайти на футболку. Вместо этого там висел сырой список из Twitter — «Canada», «Sanchez», «Ukraine» без перевода и пояснений. Причина: ответ ИИ обрывался на полуслове, потому что ему выделили слишком мало места на ответ, а разбор такого обрывка падал целиком — терялись даже те темы, которые ИИ успел разобрать. Увеличили лимит и научили систему спасать разобранную часть, если ответ снова оборвётся. Прогнали заново: из 108 сырых тем отобрано 35 — «Челси», «Ливерпуль», «Гарфилд», «Лемми» из Motörhead — с русскими названиями, категориями и пояснениями.
✅
🔔 На будущее: такую поломку стоит замечать раньше
Слабое место видно невооружённым глазом: когда доступ к внешнему сервису заканчивается, сайт не ломается — он просто показывает вчерашние данные, и никто об этом не узнаёт, пока не заметит человек. Здесь между поломкой и починкой прошло четыре дня. Напрашивается пометка прямо на вкладке в духе «данные от такого-то числа, свежих нет» или короткое сообщение в Telegram, когда сбор возвращается пустым. Пока не делали — записали как задачу.
19 августа · Павел · калькулятор
новый инструмент
Excel-калькулятор заказов стал страницей сайта · считает один в один с файлом · показывает себестоимость и маржу · цены меняются без программиста
✅
🧮 Калькулятор шелкографии переехал из Excel на сайт
Менеджеры считали заказы в файле с выпадающими списками, где важные параметры приходилось искать по разным углам таблицы. Теперь это страница сайта: метод нанесения (пластизоль, водная краска, вытравка, золото-силикон) и ПАФ — крупными кнопками в самом верху, размер нанесения с типовыми размерами в один тап, процент заливки отдельной шкалой, а печать «на вылет» — заметным переключателем с подписью «не пропустить». Именно на этих двух вещах менеджер однажды ошиблась в цене. Открывается ссылкой со страницы входа, работает с телефона: цена, итог и маржа всегда видны в полосе внизу, даже когда листаешь параметры.
✅
🔍 Проверили расчёт против самого Excel — 68 сценариев из 68
Главный риск переноса — тихое расхождение в цифрах: интерфейс красивый, а цена не та. Поэтому расчёт сверяли не на глаз. Подняли движок, который считает настоящие формулы Excel, прогнали через него 68 разных заказов (все методы нанесения, все ткани, тиражи от 30 до 20 000, слои ПАФа, плашка, вылет, образцы, доп. услуги) и сравнили с новым калькулятором по шести величинам сразу — итог, цена за штуку, цена со скидкой, версия без НДС, число матриц и цена матрицы. Совпало везде до рубля.
✅
💰 Появились наценка, скидка, себестоимость и маржа
Просили поднять расчёты на 10–30% — сделали это настраиваемым: поля «наценка» и «скидка» стоят прямо в калькуляторе, менеджер ставит их сам, и они запоминаются между расчётами. Рядом сразу видно себестоимость (30% от цены) и маржу — за штуку и со всего тиража, чтобы не считать в голове при разговоре с клиентом. Отдельно показывается, из чего сложилась сумма: печать, матрицы, доп. услуги, Pantone, замены цвета — полоской и списком.
✅
🧵 Ткань и изнанка разделены, цены правятся без программиста
В файле ткань была одним списком, где «футер 2х-нитка» и «изнанка петля» конкурировали за одну надбавку, хотя изделие бывает и тем и другим одновременно. Теперь это два отдельных поля, а как считать надбавку — складывать или брать большую — переключается в настройках, чтобы решить на живых расчётах. Там же, за паролем, правится вся таблица цен: 11 вариантов матриц на 18 ступеней тиража и все коэффициенты. Сохранённые цены видят все, кто откроет калькулятор, а не только тот, кто их поменял.
✅
⚠️ Ошибки теперь видно, а не приходится вспоминать
В исходном файле было правило «ПАФ возможен только на пластизоли», но оно выводилось бледным текстом в стороне и его легко пропускали. Теперь несовместимые сочетания подсвечиваются красным прямо у цены, а если матриц требуется больше, чем позволяет печать, калькулятор честно пишет «напечатать нельзя» вместо непонятной ошибки — в Excel в этом месте появлялось «#ЗНАЧ!». Заодно подсказывается неочевидное: при цветной ткани нужна подложка, поэтому один цвет считается как два — самая частая причина «почему так дорого».
✅
🎨 Калькулятор перестал выглядеть чужой страницей
Павел заметил, что калькулятор не похож на остальной Trend Hunter. Причина оказалась в подходе: страницу собирали по описанию дизайн-системы, но не посмотрели, как устроены живые страницы сайта — а там уже были готовые решения. Главное из них: переключатель светлой темы на сайте существует давно, он общий, сам переключается по закату и запоминает выбор. Калькулятор же завёл собственный, поэтому выбранная на сайте светлая тема в нём не работала. Свою систему убрали, подключили общую. Заодно поставили штатную шапку с логотипом и вкладкой, взяли настоящие светлые цвета сайта (у нас карточки и поля были перепутаны местами), добавили зернистую текстуру, которая есть на всех страницах, и общий набор шрифтов. Теперь калькулятор открывается как часть продукта, а не как отдельный инструмент.
✅
🔒 Калькулятор закрыт отдельным паролем
У калькулятора теперь свой пароль, не совпадающий с общим паролем сайта. Смысл в том, чтобы можно было дать доступ к расчётам менеджерам, не открывая им при этом дашборд трендов и остальные вкладки. Кто уже вошёл на сайт по общему паролю, проходит без второго запроса — у него доступ и так шире. Проверка стоит до отрисовки страницы, поэтому содержимое не мелькает перед экраном входа, а при неверном вводе поле подсвечивается и пишется, что проверить.
✅
🌗 Светлая тема и читаемые подписи
Павел заметил, что подписи переключателей почти не видно. Причина оказалась не в оттенке: у кнопок цвет текста не наследуется от страницы, и браузер рисовал их своим тёмным — для остальных кнопок цвет был задан, для переключателей забыт. Заодно проверили измерением все мелкие подписи: они стояли на служебном сером, который на тёмном фоне даёт контраст 2,4 при норме 4,5 — то есть формально нечитаем. Перевели на более светлый и чуть увеличили. Добавили переключатель светлой темы в шапке: выбор запоминается, по умолчанию тёмная, как остальной сайт. Контраст замерили в обеих темах в четырёх состояниях каждая — провалов нет.
✅
📋 Нашли две недоделки в самом Excel-файле
При разборе выяснилось, что формула итоговой цены ссылается на пустую ячейку — из-за этого заложенное ограничение цены не срабатывало никогда. И что скидка 10% стояла в файле по умолчанию, то есть каждый расчёт молча уходил ниже прайса. В новом калькуляторе скидка по умолчанию нулевая и ставится осознанно; про пустую ячейку ждём от Павла, что там должно было ограничиваться.
19 августа · Павел
сверка
Instagram ожил · нашли, куда утекал бюджет Apify · списки задач снова говорят правду · инструкция для агентов больше не противоречит боту
✅
📸 Instagram не работал, потому что оплата ушла на другой аккаунт
Вкладка Instagram привозила ноль постов, и причина оказалась не технической. Сервис сбора Apify оплатили — но на одном аккаунте, а сервер всё это время продолжал обращаться к другому, бесплатному, где месячный лимит был выбран под ноль ещё в начале августа. Оплаченный аккаунт при этом стоял нетронутым: из 29 долларов не потрачено ни цента. Подставили правильный доступ и прогнали сбор вручную, не дожидаясь ночи — Instagram сразу привёз 40 виральных постов. Досье конкурентов на Wildberries встало по той же причине и оживает тем же ключом.
✅
💰 Досье конкурентов съедало весь бюджет — сократили до раза в сутки
Разобрали, из чего складывался перерасход, по истории всех запусков за месяц. Выяснилось, что дело в одном модуле: сбор досье конкурентов на Wildberries стоит около 61 цента за один заход — это в сорок раз дороже сбора Instagram, который обходится в полтора цента. При двух заходах в сутки он один давал около 36 долларов в месяц и уже сам по себе не влезал в оплаченный тариф на 29 долларов. Показательно: Instagram, на который логично было бы подумать в первую очередь, стоит 46 центов в месяц — отключать его не имело смысла вообще. Оставили один срез конкурентов в сутки вместо двух: расход упал примерно до 19 долларов в месяц, появился запас. Потеряли немного — счётчик новых товаров у конкурентов теперь считается за сутки, а не за полдня, что для решения «печатать или нет» роли не играет.
✅
📋 Список задач отставал от реальности на три работы
Сверили список задач с тем, что реально сделано в коде. Оказалось, два из трёх пожеланий со звонка с Алиной 22 июля давно закрыты, но числились несделанными и с высшим приоритетом: распознавание слов из трека в строчку на принт и доведение Twitter/X до уровня Telegram — фильтры, поиск, избранное, проверка спроса. Из того звонка остался незакрытым только один пункт — список товаров Wildberries прямо в карточке тренда, и у него честно проставлена причина: Wildberries не пускает наш сервер. Также записали августовский результат по каналам: бот читает 262 канала вместо 146, спорт и мемы перестали быть слепыми зонами. Смысл правки простой — когда открываешь список задач, видно настоящее положение дел, а не сделанное вперемешку с несделанным.
✅
🌍 Инструкция для агентов требовала выключить западный отчёт
Нашли расхождение, которое могло тихо откатить работу. В инструкции, которую каждый AI-агент читает перед началом работы, с июня стояло правило: западное направление отключено, не развивать. При этом 10 августа западный отчёт был осознанно включён ради опережающего сигнала — тренд с Запада доходит до России с задержкой в недели. То есть бот делал ровно противоположное тому, что написано в его собственной инструкции. Любой следующий агент мог принять работающий западный отчёт за ошибку и выключить его. Правило переписали под текущее решение, добавили причину и прямое предупреждение не выключать обратно. Заодно поправили пояснения в коде, которые уверяли, что западные тренды до отчёта не доходят — с 10 августа это неправда.
19 августа · Руслан
починка
нашли, почему TikTok не собирался сам · звуки вернулись на сайт · сверили весь конвейер
✅
🔧 Автосбор TikTok не работал неделями — и никто не мог этого увидеть
Хэштеги TikTok регулярно застревали на несколько дней, а причина не находилась: задание автозапуска числится включённым, ошибок нет, лог пустой. Разобрались — задание падало, ещё не начав работу, потому что не могло создать свои файлы логов: они лежали в папке проекта внутри «Документов», куда у системного планировщика macOS доступа нет. Отдельно проверили популярный совет «дать полный доступ к диску» — не помогает, дело было именно в путях логов. Перенесли логи в системную папку, и сбор сразу запустился сам. Вывод неприятный: все последние сборы TikTok были ручными, теперь он снова идёт по расписанию в 20:30 и при каждом включении Мака.
✅
🎵 Звуки TikTok вернулись на сайт
Подставили новый ключ доступа к сервису сбора звуков — подборки собрались: 7 звуков по России и 10 по США, у большинства распознаны слова из трека и есть отметка о разрешённом коммерческом использовании. В российской подборке, например, «All I Want for Christmas Is You» — 16 миллионов роликов. Важно про запас: на ключе осталось 60 обращений, ежедневный сбор тратит около 38 в сутки, то есть примерно через полтора дня понадобится пополнение. Витрина при этом больше не обнулится — покажет последний живой срез с честной датой.
✅
🔍 Сверили весь конвейер — что собирается, а что встало
Прошли по всем источникам разом. Работает: отчёт выходит каждый день без пропусков (100 тем по России, 78–95 по Западу), все 265 Telegram-каналов читаются без ошибок, YouTube, Музыка, Западный радар и Печатабельность обновляются. Музыка отдельно проверена: 100 треков чарта, 92 артиста, 26 концертов — свежие. Не работает Instagram и досье конкурентов на Wildberries: сервис сбора упёрся в исчерпанный лимит бесплатного аккаунта — этим занимается Павел.
14 августа · Руслан
починка
проверили весь сбор · вкладка «Звуки» больше не обнуляется · видео США перестало пропускать сбор через день
✅
🔎 Проверили, что реально собирается — и что встало
Прогнали весь конвейер по логам и базе. Хорошая часть: все 265 Telegram-каналов читаются без единой ошибки, около 4 000 сигналов за прогон, русский отчёт выходит каждый день по 100 тем, западный — по 74–88 тем и уходит подписчикам. Плохая часть: три источника встали не по нашей вине — звуки TikTok, Instagram и конкуренты на Wildberries упёрлись в закончившиеся оплаты сервисов, а хэштеги и видео TikTok — в истёкший ключ доступа.
✅
🎵 Вкладка «Звуки» больше не обнуляется при сбое
Когда сбор падал, он всё равно перезаписывал витрину — было десять звуков, стало ноль, и вкладка выглядела сломанной. Теперь пустой результат не затирает прошлый: звуки остаются на месте с честной подписью «Показаны данные от такого-то числа — свежие пока не приходят». Заодно нашли и убрали побочный эффект: при пустом сборе стирались все обложки треков, то есть даже после починки картинки пришлось бы собирать заново. А если данных нет совсем — теперь вместо пустого экрана понятное объяснение, а не «дождитесь следующего сбора» (следующий пришёл бы таким же пустым).
✅
🎬 Видео США перестало пропускать сбор через день
Нашли замкнутый круг. В июле мы поставили защиту: не запускать резервный сбор, если свежее видео уже привёз Мак. Защита смотрела на дату файла — а когда сбор падал, система возвращала прошлый срез и делала файл «сегодняшним». На следующий день защита принимала это за свежую доставку и пропускала сбор вовсе, потом дата устаревала, попытка повторялась, снова падала — и по кругу. В логах это видно как чередование с 6 по 14 августа. Теперь свежесть определяется по дате внутри самого файла, и подмена больше не проходит. Полностью видео оживёт после обновления ключа TikTok с Мака.
10 августа · Руслан
крупный день
бот читает 265 Telegram-каналов вместо 146 · спорт перестал быть слепой зоной · впервые появились мемы и весь русский рэп · включён западный отчёт
✅
📈 +119 каналов из баз Марата — охват вырос почти вдвое
Разобрали три присланные базы (музыка, спорт, мемы — 230 каналов). Отобрали и подключили 119: каждый проверили вживую — все 119 существуют и совпадают с выгрузкой. Теперь вечерний отчёт строится на 265 каналах вместо 146.
✅
⚽ Спорт: было 3 канала, стало 32
Раньше спорт бот почти не видел. Добавили три слоя: спортивные медиа (Матч ТВ, Спортс, МАТЧ ПРЕМЬЕР), футбольные мем-паблики и официальные каналы клубов — Спартак, ЦСКА, Зенит, Динамо, Краснодар, КХЛ, Авангард, Трактор. Клубы дают немного просмотров, но клубный мерч — отдельный рынок, и сигнал оттуда больше взять негде.
✅
😄 Мемы и юмор — совершенно новая тема, 50 каналов
Такой категории у бота не было вообще, а для печати на футболках это главный источник: именно там рождаются фразы и картинки, которые уходят в мерч. Подключили крупнейшие мем-паблики (Леонардо Дайвинчик, ТОПОР, Двач, ЭТО ЗНАК, КБ), юмор-шоу и комиков, а также каналы с готовыми шаблонами мемов — это фактически заготовки под принт.
✅
🎵 Музыка: впервые сами артисты, а не только медиа о них
Добавили 26 каналов — личные каналы Крида, Коржа, Пошлой Молли, Лазарева, Басты и площадки. Анонсы туров, релизы и коллаборации теперь видны из первых рук, а не через пересказ музыкальных изданий.
✅
🔎 «Английские» списки оказались не английскими — спасли 44 русских канала
Во второй половине дня вернулись к отложенным англоязычным спискам. Проверили не по названию канала, а по тексту реальных постов — и выяснилось, что 44 канала из 136 русскоязычные, просто с латинскими именами. Это весь актуальный русский рэп (Oxxxymiron, KIZARU, Toxi$, 9mice, Lida, MAYOT, Lovv66, Boulevard Depo) и мем-гиганты рунета (MDK, TELEGRA4CH, Yaplakal, 4ch, DeadP47, Benzogram). Если бы поверили названию файла — потеряли бы целый пласт самой «мерчевой» ниши. Один из них, PLOHOY PAREN, показал лучшую вовлечённость во всей базе: 213 тысяч просмотров на пост.
✅
🌍 Включили западный отчёт — опережающий сигнал по трендам
Добавили 14 настоящих западных каналов: Fabrizio Romano (главный в мире инсайдер футбольных трансферов), Sky Sports, Premier League, официальные Манчестер Юнайтед, Арсенал, Челси, Реал Мадрид и англоязычные мем-паблики. Западная ветка бота до сегодня была выключена — теперь включена, и бот строит по ней отдельный отчёт. Смысл: тренд с Запада доходит до России с задержкой в недели, и это фора для запуска мерча. Учтите: каждый вечер добавляется второй проход AI-анализа, это дополнительные расходы — если отчёт не пригодится, выключается одной строкой.
✅
🧹 Отсеяли 111 каналов из 230 — чтобы не засорять отчёт
Из присланных баз взяли ровно половину, и это осознанно. Не взяли: каналы чужих рынков — иранские, узбекские, эфиопские, нигерийские, кенийские, ганские, индонезийские, украинские (часть из них лежала на листе «Русские», но их тренды не про нас); накрученные — например спортивный канал на 897 тысяч подписчиков с 96 просмотрами на пост, или мем-канал на миллион подписчиков с 307 просмотрами; каналы про политику и СВО; откровенный скам с «договорными матчами». Всё отсеянное сохранено отдельным списком — ничего не потеряно, при желании вернём.
✅
📱 PRD-презентация перестала разъезжаться на телефоне
Сверили сервер с GitHub и нашли давнее расхождение: на сервер в июле не доехала мобильная версия презентации. С компьютера всё выглядело нормально, поэтому и не замечали, а с телефона слайды уезжали за край с горизонтальной прокруткой. Долили правильную версию — теперь дека сама ужимается под ширину экрана.
9 августа · Руслан
аналитика
на карточках виден рост тренда по часам · метка «Всплеск» наконец заработала
✅
📈 Видно, как тренд растёт: «+288% за 12 часов» прямо на карточке
Бот и раньше замерял просмотры каждые два часа, но эти замеры никуда не показывались — по карточке нельзя было понять, тема разгоняется или уже выдохлась. Теперь в блоке «Анализ тренда» есть строка «Динамика»: насколько выросли просмотры, за сколько часов, и мини-график роста. Внизу — сколько было при первом замере и сколько при последнем (например, 16:00 · 27K → 04:00 · 105K). Сегодня история есть у 72 тем из 100; у остальных блок просто не показывается, чтобы не рисовать пустой график.
✅
🔥 Метка «Всплеск» ожила — раньше она не срабатывала вообще
Вкладка «Всплески» и оранжевая метка на карточке всё это время показывали ноль: бот сравнивал темы со своими замерами по совпадению слов и почти никогда не находил пару. Теперь всплеск считается по точной истории конкретного поста — метку получают темы, растущие быстрее 15% просмотров в час. Это примерно каждая седьмая тема, то есть метка снова что-то значит: сегодня их 14 из 100. Счётчик в шапке и число меток на карточках теперь сходятся.
29 июля · Руслан
починка
вернули «о чём ролик» на вкладку Видео · вечерний fallback больше не затирает речь · плашка TikTok-ключа перестала врать
✅
🎬 Речь в видео США вернулась и защищена
28 июля Мак закончил сбор рано (20:52) и через 8 минут вечерний резервный сбор на сервере затёр его срез версией без распознанной речи. Данные восстановили, а в резервный сбор поставили защиту: если Мак уже доставил свежее видео — сервер больше не вмешивается.
✅
🔧 Плашка «ключ TikTok» показывала неправду — починили доставку cookies
индикатор на вкладке TikTok говорил «ключ истёк», хотя ключ был живой: из-за технической особенности Docker контейнер продолжал видеть старую копию cookies и после обновления. Починили способ доставки (теперь файл обновляется «на месте») — плашка и резервный сбор всегда видят актуальный ключ.
27 июля · Руслан
починка
продлили TikTok-ключ и перезапустили дневной сбор · дожали скрытие Roadmap на сервере
✅
🔑 TikTok-ключ продлён — сбор хэштегов и видео снова идёт
TikTok в очередной раз сбросил сессию (это его обычный ~3-дневный цикл), утренний сбор упал, а алерт в Telegram сработал как задумано. Руслан заново вошёл в аккаунт, ключ продлён на 3 дня и залит на сервер, упавший сбор за день перезапущен — хэштеги RU/США/Корея и видео с распознанной речью доедут на сайт этим же вечером.
✅
🙈 Roadmap теперь действительно скрыт на всех страницах
вкладку убрали из меню ещё 16 июля, но на сервере 6 страниц (Дашборд, Instagram, Музыка, YouTube, Printology, Конкуренты) остались со старой навигацией — ссылка продолжала показываться. Сегодня довезли скрытие до сервера: меню одинаковое везде, сама страница по-прежнему открывается по прямой ссылке.
26 июля · Руслан
починка
ожили конкуренты WB и Instagram (новый аккаунт Apify) · вечерний серверный сбор больше не затирает полные данные Мака
✅
🛠️ Конкуренты и Instagram снова обновляются
с 24 июля оба раздела молчали: внешний сервис сбора (Apify) отвечал «доступ запрещён» — токен был от чужого/исчерпанного аккаунта. Завели свой аккаунт, прописали новый ключ на сервере и проверили боем: досье 9 из 10 продавцов WB и 40 виральных постов Instagram собраны, дальше всё идёт по расписанию. Бесплатного лимита хватит на несколько дней — дальше нужен тариф Starter ($29/мес).
✅
🛡️ Ночные данные TikTok с Мака больше не затираются
нашли причину «худеющих» подборок: вечерний резервный сбор на сервере иногда «удачно» отрабатывал и перезаписывал полный срез Мака урезанным (25 июля так кириллица сжалась с 79 до 31 хэштега, а у видео пропало «о чём ролик»). Серверный сбор хэштегов отключили — как и было решено ещё 12 июля; серверу оставили только запасной сбор видео на случай, если Мак ночью выключен.
24 июля · Руслан
крупный день
закрыты два пункта из бэклога встречи 22 июля: Twitter/X доведён до уровня Telegram-модуля + звуки TikTok сами показывают строчку из трека для принта
✅
🖼️ Видео США: свежие ролики и обложки теперь каждый день сами
вкладка «Видео США» обновлялась вручную и отставала (висел срез 20 июля, а из 50 обложек грузились только 4 — остальные терялись при ручной выгрузке). Теперь сбор роликов, обложек и распознавание речи встроены в ночной автопрогон: вкладка обновляется ежедневно целиком, без ручных шагов. Все обложки на всех вкладках TikTok проверены — битых нет.
✅
🎬 Видео США: фраза из ролика + «о чём ролик» по-русски
то же распознавание добавили роликам вкладки «Видео США»: бот скачивает аудио топ-15 роликов, выносит на карточку цепкую фразу с переводом и одним предложением объясняет по-русски, о чём ролик. Раньше вкладка была англоязычной «вслепую» — что происходит в ролике, было видно только после клика в TikTok.
✅
🇰🇷 Корея: хэштеги переведены на русский
корейские хэштеги на вкладке «Корея» теперь с русским переводом и пометкой «перевод»: «홍명보 → Хон Мён Бо — футболист, тренер», «메이크업 → макияж». Имена и бренды не просто транслитерируются — бот подписывает, кто это. Переводится автоматически при каждой ночной сборке.
✅
🎤 Звуки TikTok теперь сами говорят, что на них поётся
раньше на карточке звука была только подпись ролика, а печатаемая фраза сидит в самих словах трека — приходилось отслушивать руками. Теперь бот скачивает превью звука, распознаёт слова и выносит на карточку готовую строчку-кандидата на принт (для иностранных — с переводом). Сегодняшний топ РФ: «Чё за лев этот тигр», «Малиновая лада, малиновый закат». Инструментальные треки честно без блока, у распознанного — пометка «распознано автоматически, проверьте». Это запрос №1 со встречи 22 июля.
✅
📈 Теперь видно, что залетает — а не просто список
радар начал запоминать вчерашние тренды и сравнивать с сегодняшними. На карточках появились метки «🆕 новое» (вчера этой темы не было), «🔥 растёт +N» (поднимается в списке) и «N-й день» (тема держится, а не однодневка). Плюс сортировка «Растущие» и счётчик «Новых сегодня» наверху. Именно этого просила команда на встрече: Twitter лучше всех показывает, какая новость залетает — теперь это видно на глаз. Первые метки появятся уже завтра утром, когда накопится два дня истории.
✅
🛒 Проверка спроса не выходя из радара
на каждой карточке — кнопки Wordstat, Google Trends, WB и Ozon: в один клик видно, ищут ли тему в России и что по ней уже продаётся. Раньше приходилось копировать название и ходить по сайтам руками.
✅
⭐ Поиск, избранное и «поделиться» — как на других вкладках
поиск понимает кириллицу («тесла» найдёт Tesla), понравившиеся темы можно копить звёздочкой, карточкой — делиться ссылкой. Наведя на флажки стран, видно место темы в трендах каждой страны.
22 июля · Павел
разбор встречи
новая вкладка «Встреча 22 июля · Инсайты» — фидбек-звонок с Алиной и командой, разложенный по полочкам · три запроса в бэклог · открытый вопрос про наш ров
✅
🗂️ Разбор созвона теперь живёт на сайте, а не в переписке
после фидбек-звонка с Алиной и командой сделали отдельную вкладку в роадмапе: что попросили доработать, что мы из этого поняли и что не успели спросить. Раньше такие разговоры растворялись в чате — теперь их можно открыть по ссылке и вернуться к ним через месяц.
✅
⭐ Зафиксировали главное: продукт работает в бою
команда подтвердила, что с нашими маркерами вставала наравне или быстрее конкурентов — включая тех, кто подбирает темы вручную, без всяких инструментов. Вынесли это отдельным блоком наверх: это самый сильный аргумент о ценности продукта, и он не должен теряться среди задач.
✅
📋 Три запроса разложены по одной схеме: зачем · что уже есть · как сделаем честно
расшифровка трендового звука в строчку для принта, полный список товаров WB с артикулами прямо в карточке и углубление Twitter/X до уровня Telegram. Для каждого сразу видно, зачем это пользователю, на какой наш модуль ложится и где реальные ограничения — чтобы не обещать того, что технически не выйдет.
✅
🧭 Отдельно вынесли стратегический вопрос — в чём наш ров
если мы встаём одновременно с конкурентами по одним и тем же публичным маркерам, то «увидеть тренд первым» не может быть нашим долгосрочным преимуществом. Вопрос остался без ответа — и мы честно отметили это на странице, а не спрятали. Ответ на него определяет, куда развивать продукт дальше.
✅
🎯 Поставили встрече оценку 6/10 и записали вопросы на следующий раз
полезный чек-ин, но почти ничего не оцифровали: «встаём быстрее» — на сколько, в скольких случаях, сколько это дало в продажах. Пока нет цифр, ценность нечем защищать. Список недостающих вопросов лежит прямо на вкладке — чтобы следующий созвон начинался не с чистого листа.
16 июля · Руслан
правка
временно убрали вкладку «Roadmap» из верхнего меню на всех страницах сайта
✅
🙈 Скрыли ссылку на Roadmap в навигации
на всех разделах (Дашборд, TikTok, YouTube, Instagram, Музыка, Twitter/X, Printology, Конкуренты) убрали вкладку «Roadmap» из верхнего меню. Сама страница осталась на месте и открывается по прямой ссылке — просто пока не показываем её в общем меню. Вернуть обратно можно в любой момент.
15 июля · Руслан
документ
скрытая страница-смета «Обоснование расходов» для заказчика · разбивка ежемесячных затрат человеческим языком · доступ по прямой ссылке + пароль как на всём сайте
✅
📊 Смета расходов для заказчика — по каждой статье «за что платим и почему нужно»
собрали отдельную страницу с разбивкой ежемесячных затрат на сервис: две подписки Claude (Руслан + Павел), сервер, Яндекс Плюс, фоновый AI-анализ и сбор данных. Считали честно — без бесплатных стартовых кредитов. Главный вывод вынесен наверх: две трети бюджета — это инструменты разработки, а сам работающий сервис стоит ~2–3 тыс ₽/мес.
✅
🔗 Скрыта из меню + вход по общему паролю сайта
страницы нет в навигации, поисковики её не индексируют, и она защищена тем же паролем-входом, что и весь сайт. Заказчику даём ссылку и пароль. Адрес: 24trendhunter.ru/costs-9k2f7a.html
12 июля · Руслан
новый модуль
новая страница «Twitter/X» (бывш. «Западный радар») — ранний западный сигнал под мерч · бесплатно, без банов · AI-фильтр (смягчён) · фильтр по темам · задеплоено
✅
🌍 Новая страница «Западный радар X» — ловим тренды раньше, чем они дойдут до РФ
то, что вирусится в Twitter/X на Западе (США, Британия, Канада, Австралия) сегодня, часто доходит до российского покупателя через 1–2 недели. Радар показывает эти темы заранее — чтобы успеть подготовить и выложить мерч до того, как спрос придёт к нам. Обновляется каждое утро в 8:30 МСК.
✅
🤖 AI отбирает только то, что реально печатается на футболку
сырой топ Twitter/X — это в основном спорт и местная политика (шум). Поэтому каждое утро DeepSeek просматривает список и оставляет только мерч-пригодное: мемы, кино, музыку, знаменитостей, известных в России — с русским названием и строчкой «почему может зайти». Пример первого дня: радар поймал UFC-волну (Хабиб, Макгрегор, Дана Уайт) — ровно тот тип тренда, про который Алина в интервью приводила пример с футболкой «Хабиб против Макгрегора».
✅
💸 Полностью бесплатно и надёжно — без рискованных схем
прямой сбор из Twitter/X сейчас платный и банится, поэтому берём данные из публичного агрегатора трендов — без аккаунтов, прокси и риска блокировок. Русский сегмент Twitter специально НЕ трогаем: он заблокирован в РФ и для мерча мёртв — решили честно, по итогам отдельного исследования, а не «на всякий случай».
✅
🎛️ Фильтр по темам + вкладка переименована в «Twitter/X»
добавили на страницу фильтр по категориям — как на TikTok: кликаешь «мем», «сериал», «спорт» и оставляешь только нужное, можно выбирать несколько сразу. Заодно вкладка в меню теперь называется «Twitter/X» (по названию источника), а не «Западный радар».
✅
🎚️ Смягчили AI-фильтр — тем стало больше
раз появился фильтр по темам, оператор сам сузит — поэтому AI теперь режет мягче и отдаёт шире (было ~8 тем, стало 20+): спортивные события и известные спортсмены, бренды, ютуберы, пограничные темы. Явный мусор (местная политика, региональные новости, биржа) по-прежнему отсекается.
✅
❓ Объяснили «силу сигнала» прямо на странице
в пояснении над лентой расшифровали, что значат флажки (в каких западных странах тема в трендах), «#N в X» (место в списке трендов) и сортировка «сила сигнала» — она выше ставит темы, попавшие в тренды сразу в нескольких странах: широкая волна вероятнее дойдёт до РФ, чем локальный всплеск.
11 июля · Руслан
правки TikTok
модуль TikTok — вернули СВЕЖУЮ кириллицу (46 тегов, была заморожена с 5 июля) · починили корень: авто-продление TikTok-сессии · сбор кириллицы вернули на Мак · дата обновления в шапке · заглушка вместо «битой» обложки · текст на карточках не обрезается
✅
🖼️ Вернули обложки — 28 из 34 карточек снова с картинками
на сайте пропали обложки хэштегов (везде значок «?»). Разобрались: серверный ночной сбор при неудачном обходе откатывал данные на старые, но папку картинок при этом подчищал — поэтому «данные есть, картинок нет». Вернул обложки на сервер; остальные 6 карточек, где картинки нет, показывают спокойную заглушку «Обложка недоступна» вместо уродливого «?».
✅
🛡️ Защита от повторной пропажи обложек
поставил предохранитель в ночной сбор: если обход TikTok сорвался и вернул пусто/мало тегов — робот больше НЕ трогает уже скачанные обложки (раньше именно это их стирало перед откатом). Проверено на 5 сценариях.
✅
🧊 Нашли и вылечили заморозку: кириллица не обновлялась с 5 июля
по логам вкладка «Кириллица» 6 дней показывала старый срез: TikTok-сессия (cookies) на сервере протухла 5 июля, и каждый вечерний сбор возвращал 1–3 тега вместо ~40 → откатывался на старое. Выяснили и глубже: датацентр-IP сервера душится анти-ботом TikTok (даже со свежими ключами даёт 1 тег), а домашний IP собирает полный список. Поэтому сбор кириллицы вернули на Мак Руслана.
✅
🔄 Свежая кириллица вернулась — 46 тегов, и теперь обновляется сама
заново вошли в TikTok, собрали свежий срез (46 хэштегов + обложки, вместо застрявших 34) — уже на сайте. Главное: починили корневую причину — авто-продление TikTok-сессии и ежедневный сбор на Маке снова работают автоматически (мешал системный запрет macOS на доступ фоновых задач к файлам — выдали разрешение). Теперь ключи не протухнут, а кириллица будет обновляться каждый день сама.
✅
🇺🇸🇰🇷 Обложки на вкладках США и Корея (их вообще не было)
на этих вкладках карточки были без картинок («Видео обновляется») — по той же причине, что и у кириллицы: сервер их не докачивал. Перевели сбор США и Кореи тоже на Мак — теперь по 50 хэштегов с обложками на каждой вкладке (было по 21 без картинок). Собираются вместе с кириллицей раз в день.
✅
📅 В шапке показываем дату обновления вместо «Топ категория»
четвёртый показатель наверху теперь говорит «Обновлено · 11 июля · 23:00» — сразу видно, насколько свежие данные, а не малополезная «топ-категория». На вкладках «Звуки» и «Видео» там по-прежнему «Топ звук» / «Топ автор».
✅
✂️ Длинные слова и метрики больше не обрезаются краем карточки
категория (например «Образование») вынесена на отдельную строку под хэштегом — видна целиком и не сжимает сам хэштег; нижние метрики («на пост», рост, кнопка «Поделиться») переносятся в два ряда вместо того, чтобы уходить за край.
7 июля · Руслан
крупный день
модуль «Музыка» — чарт Яндекс.Музыки (балл + слушатели) · концерты под мерч (Москва/СПб + мировые звёзды за рубежом) · флаги стран · задеплоено
✅
🎵 Новая страница «Музыка» — 3 вкладки (Артисты / Свежие релизы / Концерты)
ранжируем по Яндекс.Музыке — крупнейший ру-стриминг, вернее всего отражает «популярно у российской аудитории» (иностранцы включены сами собой). Балл 0–100 = позиция в чарте, у каждого артиста число слушателей (напр. 385К), готовая динамика ↑↓, обложка, дата релиза, жанр. Свежие релизы вынесены отдельной вкладкой. Обновляется каждый день в 8:10 МСК.
✅
🎫 Концерты под мерч — домашние + зарубежные звёзды
Москва/СПб через Яндекс.Афишу (дата, площадка, «🔥 в чарте» = двойной повод, «через N дней» = окно на мерч). Зарубеж — по кейсу Алины (концерт Канье в Турции → россияне летят за мерчем): проверяем чартовых артистов + список мировых звёзд (Kanye, The Weeknd…) через Bandsintown, только страны, куда реально ездят россияне (Турция, ОАЭ, Армения, Сербия, Таиланд…).
✅
🚩 Флаги страны исполнителя + сортировки на каждой вкладке
страна артиста через MusicBrainz (флаг 🇷🇺🇺🇸 перед именем; при промахе — без флага, не показываем неверный). Своя сортировка на каждой вкладке: артисты — по баллу / кто растёт / слушателям; концерты — сначала в чарте / ближайшие. Задеплоено на 24trendhunter.ru/music.html.
4 июля · Руслан
крупный день
трендовые звуки TikTok (РФ + США) · реальная виральность + копирайт + мем-суть · починка ежедневного сбора хэштегов
✅
🎵 Трендовые звуки TikTok — вкладки «Звуки РФ» и «Звуки США»
у TikTok прямого списка звуков больше нет (Creative Center убрал вкладку Songs, эндпоинт закрыт — проверено вживую). Берём звуки из настоящей трендовой ленты TikTok (ScrapeCreators, 1000 бесплатных кредитов). «Звуки РФ» — наш рынок (там монетизируется), «Звуки США» — западный опережающий сигнал (~2 недели вперёд). Встроенный плеер + клик на ролик, ежедневный сбор 7:50 МСК.
✅
Реальная виральность + копирайт + мем (метод Алины)
по её кейсу «Ча-ча-ча-саранча» = 100 продаж/день. На карточке звука: «🔥 в N роликах» (реальный счётчик использования из /tiktok/song — настоящий сигнал тренда, по нему ранжир), метка «✅ можно / ⛔ копирайт» (её ограничение №1) и мем-подпись залетевшего ролика — дизайнеру сразу видно, что печатать.
✅
Фикс: ежедневный сбор хэштегов «Кириллица»
осталось 3 мусорных хэштега (от 26 июня) и слетели обложки — серверный cron откатывал ВСЕ рынки разом, когда контейнер bot пересоздавался под тяжёлой сборкой. Переписал: рынки (ru/us/kr/video) собираются порознь, с ретраем и своим откатом — сбой одного больше не роняет остальные. Теперь 34 кириллических + обложки; все 4 рынка собрались с первой попытки.
3–4 июля · Павел
крупный день
локализация на 7 языков · проверка спроса и разрыва в карточке · Instagram · сквозной Share · вкладка «Конкуренты» с живыми досье WB
✅
Демо-локализация на 7 языков
планетка 🌐 внизу слева → перевод всего интерфейса и трендов через Yandex (не жжём токены); узбекская латиница + арабский с разворотом справа налево (RTL). Русский — источник правды.
✅
Проверка спроса и разрыва рынка в карточке (метод Алины)
AI даёт поисковые ключи + мерч-ключи (футболка/мерч/принт/стикеры). Кнопки: 📊 Wordstat (число показов), 📈 Google Trends, 🛒 На WB, 🅾️ На Ozon (открывают реальную выдачу — сколько карточек уже есть). Работают по выбранному ключу.
✅
Instagram как источник
отдельная вкладка виральных Reels/постов через Apify (курируемые аккаунты 9gag/daquan/crunchyroll…), обложки кэшируются локально. Западный сигнал (Запад опережает рунет ~2 недели).
✅
Сквозная кнопка «Поделиться» + прожектор
на карточке любого источника: ссылка на конкретный тренд. Открываешь — карточка скроллится и подсвечивается, остальное блюрится. Гейт запоминает адрес и после пароля открывает именно её.
✅
Вкладка «🎯 Конкуренты»
20 игроков DTF-печати на WB из исследования 2026 (по моделям: генераторы / D2C / лицензионные / …) + ЖИВЫЕ досье по seller-id через Apify: реальная компания + ИНН, число товаров, цены, отзывы, рейтинг, Δ новых SKU по срезам (6:00 и 12:00 МСК).
✅
Фикс: кнопка «Принт» из «Окна печати»
выкидывала на ленту вместо Принтологии (баг bfcache + рендер модала). Нашёл через отладку в браузере, починил — теперь открывает генератор промтов.
✅
Обход блокировки WB нашего сервера
WB режет наш NL-сервер антиботом → решено Apify-актёрами (скрейпят на своей стороне); свой РФ-прокси оставлен запасным (только для WB/Ozon). Пароль входа сменён.
2 июля · Павел
12 пунктов
YouTube Shorts · «Окно печати» · приоритет аниме · категория «Книги» · +21 канал · московское время + утренние прогоны · исследование в роадмапе
✅
YouTube Shorts
парсер на официальном YouTube Data API (фильтр по кириллице = рунет), отдельная вкладка, авто-обновление ежедневно 7:30; ключ добавлен на сервер.
✅
Вкладка «🖨 Окно печати» (Printability Window)
единая мерч-подборка из Telegram + TikTok + YouTube Shorts, AI-оценка печатабельности, PrintScore, кнопка Printology на карточках (в т.ч. ad-hoc для источников не из БД), авто-сборка 9:00.
✅
Аниме — мягкий приоритет
нашли причину недосбора (аниме отсекалось по TOP_N ещё до AI-категоризации); пометили аниме-каналы, добавили бонус к сортировке + гарантию представительства. Честный trend_score не тронут, задокументировано в CLAUDE.md.
✅
Планировщик переведён на московское время
был UTC — вечерний отчёт подписчикам теперь уходит в настоящие 19:00 МСК (раньше де-факто 22:00).
✅
Два утренних обновления данных
4:00 и 8:00 МСК, без рассылки — чтобы ловить всплески, пришедшие ночью из-за океана (ночь в США → утро у нас), а не только в вечернем прогоне.
✅
Исследование «Модель зарождения трендов мерча»
оформлено: отдельная вкладка «🔬 Модель трендов» (формула восходящего тренда + источники) + конспект в репозитории.
✅
Обнаружено
второй экземпляр бота с тем же токеном поллит извне — не ломает рассылку, но мешает приёму команд; проверить с Русланом.
✅
Новая категория «Книги» (как аниме)
15 книжных Telegram-каналов (Литрес, Эксмо, МИФ, Inspiria, ФантЛаб, Corpus, Год Литературы и др.) + «книги» стала 9-й категорией ИИ + мягкий приоритет с гарантией + книжные запросы (BookTok) в Shorts. На прогоне уже дала 20 трендов.
✅
+6 тематических каналов
тематику проверяли вживую через t.me/s/, не угадывали: аниме — AlexandriA, kaiju-школа японского; игры — GL1n (Genshin); шоу-биз — ThreeN1ne; трендвотчеры — Москвичка, NN (медиа про интернет, 2.24M).
✅
Ссылка на первоисточник
на карточках «Окна печати»: Telegram → пост, TikTok → хэштег, YouTube → видео.
✅
Фиксы «Окна печати»
корректное пустое состояние («ничего по фильтру» вместо «запустите скрипт»); генерируемые данные-JSON (tiktok/youtube/printability) исключены из деплоя, чтобы rsync их не затирал.
✅
Запущен прогон без рассылки
книги, приоритет аниме и новые каналы уже с реальными данными на дашборде (не ждали утра).
1 июля · Павел и Руслан · Интервью с Алиной
разбор + фикс
Интервью с подборщиком трендов · рейтинг по разделам на дашборде · бэклог фич из разговора
✅
Провели интервью с Алиной
оператором подбора трендов (селлер на Wildberries с командой дизайнеров). Полный продуктовый разбор — в docs/interview_admin_summary.md.
✅
Рейтинг по разделам на дашборде
добавлена сортировка «🎯 По скору» (по умолчанию), номер #NN считается внутри выбранного раздела, а не сквозной. Топ аниме теперь виден и не «тонет» под трендвотчерами с миллионами просмотров.
✅
Валидация
избранное ⭐ и «популярные видео TikTok» — ровно то, чего ей не хватало; формула скора признана «классной».
Идеи из интервью в работу (трендовые звуки, три рынка TikTok, нишевый индекс, новые источники) перенесены наверх — в список «Что осталось».
29 июня · Павел и Руслан
8 пунктов
Слияние веток · единый пароль · таб Telegram/TikTok · переезд ИИ на OpenRouter · Printology v2 (редактор промта + генерация принта) · распределение моделей · цены в рублях
✅
Слияние веток и восстановление сайта
ветка Руслана (TikTok) и Павла (дизайн) сведены без потерь — большой Roadmap и новая карточка тренда вернулись на сайт, свежие данные TikTok сохранены.
✅
Единый пароль входа
устранена петля редиректа (dashboard ↔ gate ↔ tiktok ↔ roadmap) — везде один пароль; страница prd.html тоже закрыта паролем.
✅
Таб-переключатель Telegram / TikTok
в шапке слева у логотипа, с подчёркиванием активной вкладки.
✅
Переезд ИИ с DeepSeek на OpenRouter
и анализ трендов, и Printology работают через OpenRouter; ключ в .env на сервере, анатомия промтов вынесена в отдельный редактируемый файл.
✅
Printology v2 — редактор промта (Фаза 1)
поля анатомии редактируются, кубик 🎲 у каждого поля переписывает часть с учётом тренда, «Переделать промт» собирает финальный, доп-составляющие, карточка «+» с 18 направлениями.
✅
Printology v2 — генерация принта (Фаза 2)
сам принт (без мокапа) рисуется в попапе на отдельном экране с кнопкой «Назад», лупа показывает полное разрешение файла, скачивание готового принта.
✅
Модели под задачи
6 промтов → Claude Sonnet 4.5 (креатив), кубик и «Переделать» → Gemini Flash Lite (скорость), анализ трендов → Gemini Flash, картинка → Flash Image (черновик) или Nano Banana Pro (качество, выбор в момент генерации).
✅
Цены генераций в рублях
прямо у кнопок + авто-синхронизация раз в день (прайс OpenRouter + курс ЦБ РФ).
💰 Сколько стоит генерация (в рублях, обновляется автоматически раз в день)
Операция Модель ₽ за раз
Открытие тренда (6 промтов)Claude Sonnet 4.52.18 ₽
+ ещё направлениеClaude Sonnet 4.50.52 ₽
🎲 Кубик (правка поля)Gemini Flash Lite0.003 ₽
Переделать промтGemini Flash Lite0.006 ₽
Картинка — черновикGemini Flash Image2.98 ₽
Картинка — Nano Banana ProGemini 3 Pro Image10.62 ₽
Средний путь (вход + 6 кубиков + 1 направление + 2 переделки + 2 черновика)—8.68 ₽
Тот же путь, но 2 картинки Pro—23.97 ₽
Курс на 30.06.2026 — 77.75 ₽/$ (ЦБ РФ). Текст почти бесплатен, основная стоимость — картинки.
24 июня · Павел
7 пунктов
Планирование: фазы 5–9 и масштабирование · воркшоп · восстановление доступа · уборка лоадера · дизайн-консистентность
✅
Дедлайн сервера в календарь
подписка Timeweb Cloud оплачена до 5 сентября — добавлена блок-плашка «миграция на nuxt.cloud» в календарь Roadmap.
✅
Разобрали и приоритизировали все идеи в дорожную карту
все идеи разложены по приоритетам 0–4 с оценкой масштаба задач (Выборка трендов + воркшоп, Printology v2, источники и переключатель платформ, динамика и математика тренда, полировка).
✅
Масштабирование пополнено
обучение нейросети на реальных принтах, Pinterest и YouTube как источники, и блок «географическое масштабирование» (СНГ / Meta / TikTok-контуры, Fine-Tune под культурные ключи, гейт «сначала результат в РФ»).
✅
Воркшоп (понедельник 29 июня)
подготовлено 20 вопросов к бизнесу — только механика сервиса, без UI/UX (docs/workshop.md).
✅
Проверили формулу всплеска
сейчас всплеск считается только по росту просмотров (≥20% между двумя срезами за 12 ч); репосты, реакции и комментарии не учитываются — расширение перенесено наверх, в «Динамику и математику тренда».
✅
Убрали лоадер первичной загрузки
(полноэкранную мышь «Загружаем тренды…») — дашборд теперь открывается сразу карточками, чище и консистентнее.
✅
Дизайн-консистентность
создан скилл-аудитор, проект прогнан по дизайн-системе; сырые цвета сведены к токенам, система дополнена (жёлтый = Stars, палитра 6 углов, вторичная шкала шрифтов). Восстановлен SSH-доступ к серверу, всё задеплоено.
21 июня · Руслан
4 пункта
TikTok-модуль: парсинг Creative Center, обложки, граф динамики, страница трендов
✅Парсинг TikTok Creative Center — Playwright с cookies обходит 15 категорий, собирает хэштеги с просмотрами от 500 тысяч; из ~200 хэштегов отбираются только кириллические — около 24–33 рунет-трендов за прогон
✅Обложки и график динамики — для каждого тренда перехватывается API-ответ TikTok: берёт graph за 7 дней (0–100) и обложки реальных видео; сохраняются локально в docs/tiktok_covers/
✅Логика тренда — направление («📈 Растёт» / «📉 Снижается») считается из последней точки графика относительно среднего; убраны 9 карточек без данных
✅Страница tiktok.html — карточки с обложками, баллами, графиком и категорией; мульти-фильтр по категориям; доступна на 24trendhunter.ru/tiktok.html
19 июня · Павел
6 пунктов
Printology (частично), мышь в лоадере, анимация выхода, смена пароля, Stars-реакции, дизайн-система кнопок
✅Printology — частичная реализация: бэкенд POST /api/printology, модал с 6 промптами (6 углов: буквальный / метафорический / ироничный / минималистичный / культурный ремикс / типографический), структура промпта из 7 полей, скелетон-анимация ожидания, фикс обрезки ответа DeepSeek (max_tokens 2500→5000). Остаётся: подключить Freepik для генерации изображений по промптам.
✅Мышь ReactionHunt в лоадере пайплайна: мышь выныривает из порталов на сетке 5×5 пока идёт сборка, убегает при наведении курсора; цвет портала адаптируется к тёмной/светлой теме
✅Анимация завершения сборки: «✓ Загрузка завершена» → мышь убегает → интерфейс уезжает вниз → морда кота летит на зрителя и растворяется → дашборд появляется; каунтдаун цифр замедлен для читаемости
✅Смена пароля с авто-киком сессий: сессия хранится как btoa(пароль) — при смене пароля все чужие вкладки выкидывает автоматически без ручной чистки cookie
✅Платные реакции Telegram (⭐ Stars): бот распознаёт Stars в реакциях, дашборд показывает ⭐ N на карточке, добавлен фильтр «⭐ Платные» и сортировка по звёздам; добавлен канал @digital_ninjaa
✅Дизайн-система кнопок: единые базовые классы .btn четырёх типов (primary / ghost / chip / muted) — кнопка Printology, фильтры, «Запустить» и download-кнопка приведены к одной системе токенов
18 июня · Павел
7 пунктов
Кошачий лоадер, новые логотипы, оптимизация спрайтов, всплески и сквозные фильтры
✅Новый лоадер сборки: затемнение и блюр всей страницы с интерактивной головой кота (следит за курсором, 17 поз), прогресс-бар + процент, крестик отмены
✅Статусы сборки очищены от эмодзи; этап AI назван понятнее — «DeepSeek анализирует базу данных»
✅Новые логотипы: квадратная марка в хедере дашборда и Roadmap, полный лок-ап (кот + TREND HUNTER) на странице входа
✅Спрайты кота ужаты 29 МБ → 1.7 МБ (уменьшение ×2 + палитра) — починен баг «спрайты не подтянулись» при первом запуске сборки
✅Сквозная сортировка и фильтрация ленты: категория, сортировка, тумблер «с комментами», поиск — всё работает вместе
✅Таб «🔥 Всплески» рядом с «Все» (жёлтый) + бейдж «ВСПЛЕСК» на карточках; бэкенд помечает ускорившиеся тренды, плитка и таб считаются из одних данных
✅Кнопка контакта с админом канала: добавлена и затем убрана по решению — прямой ссылки «написать админу» Telegram не даёт
17 июня · Павел
крупный день
Качество выдачи, динамика трендов, чистка каналов и интерфейса
✅Откат вредных правок стороннего агента: убран искусственный буст аниме в скоринге, починены обрезанные заголовки и дублирующаяся шкала баллов
✅DeepSeek-анализ переписан: «почему в тренде» объясняет суть, а не пересказывает цифры; аудитория — конкретный сегмент
✅Критический баг: единый запрос к DeepSeek на 100 трендов уходил в таймаут → разбили на батчи по 20, анализ стал надёжным
✅Источники-ссылки: убрана склейка чужих постов — ведут на релевантный пост
✅Карточка: добавлены комментарии 💬 (собираются из Telegram); убран «прогноз» — не нёс пользы
✅Шапка переделана: логотип ×2, кнопка «Запустить» одной высоты с Roadmap и жёлтая, убраны часы/таймер/LIVE
✅Фавикон + брендовый лоадер (логотип с крутящимся кольцом) вместо безликого спиннера
✅Убраны фейковые элементы: правая панель с «Пульсом», «Всплески», выдуманная статистика
✅Возврат с Roadmap больше не моргает лоадером (кеш в сессии)
✅Аниме-каналы: удалены сломанные, добавлены 8 проверенных вживую (@jutsu_anime, @mangabuff, @animedia, @anistar, @deep_ruanime, @animego, @animeart, @ranobelib)
✅Чистка: убраны @meduzalive и @varlamov из политики; фильтр «Другое» → «Всё подряд»
✅Мониторинг динамики (Фаза 1): таблица срезов, запись каждые 2 часа без DeepSeek — фундамент под «всплески»
✅Директивы: защита готовых компонентов, процесс деплоя, самопроверка перед показом
16 июня · Павел
22 пункта
Точечные запросы по ходу дня, не входившие ни в одну фазу выше
✅Страница-шлюз с паролем (gate.html) — авто-валидация без кнопки «ОК», красный/зелёный статус
✅Логотипы — Rex Print + Trend Hunter на гейте, новый LogoLine в хедере дашборда и Roadmap
✅Переименован адрес: dashboard_mockup.html → dashboard.html (убрали слово «mockup»)
✅Убран эмодзи 🗺 из текста «Roadmap»
✅Cache-Control: no-store на HTML — защита от обхода пароля через кэш браузера
✅Кнопка «Запустить сейчас» — добавили, убрали, вернули на верное место (панель «Следующий запуск») с лоадером и реальным прогрессом по стадиям
✅Живые часы и дата в хедере (были статичной заглушкой)
✅Карточка тренда — полный паритет с ботом: 3 под-шкалы, аудитория, прогноз, разбивка по реакциям, источники
✅Цветные шкалы анализа — зелёная/жёлтая/фиолетовая вместо сплошного фиолетового
✅Карточка разбита на 2 колонки (Анализ тренда / Подробности) — решает «резиновость» по высоте
✅Источники — кнопки в ряд вместо списка ссылок, посещённые помечаются цветом (:visited)
✅Фильтры — реальные категории вместо Горячие/Новые/Аниме; «Аниме» закреплена сразу после «Всплески», «Другое» — в конец
✅Дропдаун-заглушка источника трендов: Telegram активен, TikTok — неактивный пункт под будущий режим
✅«Пульс тренда»: «51 / 100» → «51 баллов» — без сбивающей дробной нотации
✅Починен баг: дашборд запрашивал limit=50, пайплайн сохраняет до 60 — счётчики не совпадали
✅Подключена забытая регулярная чистка старых трендов (cleanup_old_trends) — функция существовала, но не была в расписании
✅Аудит аниме-каналов — обнаружено, что AI-поиск новых источников ненадёжен без проверки по факту
✅Зафиксирован процесс деплоя: `bot` и `api` пересобирать вместе, не по отдельности
✅Лимит трендов за прогон поднят с 60 до 100 — все 100 получают полноценный AI-анализ без заглушек
✅Починено логирование в контейнере `api` — раньше показывал только WARNING+, прогресс пайплайна был не виден в логах
✅Анимация появления: цифры считаются от 0, шкалы растут слева-направо, карточки появляются каскадом
✅Метрика «Трендов» заменена на «Просканировано» — живое число кандидатов до отсечки
Куда мы идём

Не дашборд трендов, а конвейер «тренд → прибыль»

Тренд — это сырьё. Мы доводим его до результата: контент, принт, товар на полке, деньги. Без ручного труда дизайнера, на скорости новостной ленты.

Было
Сервис, который показывает, что популярно
Стало
Машина, которая превращает популярное в продажи

Пользователю не нужны тренды. Ему нужно знать, что сделать сегодня — чтобы заработать.

Каждый тренд в системе отвечает на один вопрос: «как именно на этом сделать деньги прямо сейчас». Не аналитика ради аналитики — подсказка к действию.

Во что мы верим
01

Тренды никто не покупает — покупают результат

✗«Узнайте, что сейчас популярно»
✓«Вот что напечатать и выложить сегодня ради продаж»
02

Деньги живут в последней миле

Найти тренд — половина дела. Ценность там, где из него рождается готовый артефакт: пост, принт, карточка товара. Мы достраиваем именно этот, самый дорогой кусок.

03

Кто увидел раньше — тот заработал

На взлетевший тренд смотреть поздно. Самое дорогое — поймать сигнал в момент зарождения. Чем раньше — тем выше маржа.

04

Важна не популярность, а потенциал

Вырастет ли дальше, сколько проживёт, можно ли монетизировать, влезем ли в нишу. Мы оцениваем будущее тренда, а не его прошлое.

05

Глубже радар — больше денег

Трендовая аналитика — игра в покрытие. Больше источников → раньше сигнал → больше возможностей. Клиент покупает не интерфейс, а глубину радара.

06

Тренд без подсказки бесполезен

Увидел тренд и не понял, что делать — продукт не сработал. Поэтому к каждому тренду идёт готовый план действий: что сделать сегодня, завтра и чего не делать.

Что мы строим
01

Экран «Что сделать сегодня?»

главный экран
Вместо «ТОП трендов дня» — лента готовых действий с фильтром по каналу: где именно тебе это применить.
TelegramTikTokYouTube InstagramМаркетплейсыФутболки МерчБренды
02

Карточка тренда нового поколения

аналитика
Не «сколько лайков», а стоит ли в это вкладываться: оценки, прогноз и прямые рекомендации.
Оценки
  • Trend Score
  • Early Momentum Score
  • Monetization Score
  • Longevity Score
  • Competition Score
Прогноз
  • стадия тренда
  • ожидаемый срок жизни
  • вероятность роста
  • вероятность угасания
Рекомендации
  • что сделать сегодня
  • что сделать завтра
  • чего не делать
03

Готовые решения под ключ

генерация
Под каждый тренд — пачка готовых артефактов. Бери и публикуй.
Контент
  • 10 идей постов
  • 10 идей рилсов
  • 10 сценариев шортсов
  • заголовки и хуки
Принты
  • 10 концепций принтов
  • 5 промптов для генерации
  • 3 варианта стилистики
  • прогноз продаж
Маркетплейсы
  • карточки товаров
  • описания
  • SEO-теги
  • рекламные креативы
04

Радар раннего обнаружения

Early Momentum
Early Momentum Score ищет не самое популярное, а то, что растёт быстрее нормы — пока остальные не заметили.
скорость просмотровскорость репостов скорость комментариевновые упоминания рост за 1-й часрост за 1-е сутки
05

Кроссплатформенное подтверждение

анти-фейк
Тренд, вспыхнувший сразу на нескольких площадках, — настоящий. Чем больше независимых подтверждений, тем выше приоритет.
TelegramTikTokYouTube Shorts RedditXVK
06

Оценка монетизируемости

сколько денег
Один тренд — три способа заработать. Считаем потенциал по каждому.
Printability Score
  • футболки
  • мерч
  • наклейки
Contentability Score
  • посты
  • видео
  • рилсы
Productability Score
  • товар
  • оффер
  • инфопродукт
  • рекламная акция
Последняя миля · от идеи до напечатанного товара
🖨

Авто-раскладка на DTF-ленту

убирает дизайнера
Самый дорогой ручной труд в печати — раскладка файлов на плёнку. Мы его автоматизируем: готовый принт сам встаёт на DTF-ленту (gang sheet) так, чтобы плёнки ушло минимум. Файл сразу готов к печати — без дизайнера, без правок.
1 · Подготовка принта
  • удаление фона, контур
  • размер и DPI под печать
2 · Раскладка на ленту
  • nesting нескольких принтов
  • минимум пустого места = минимум плёнки
3 · Экспорт ленты
  • готовый файл под DTF-принтер
  • ширина рулона, метки реза
4 · Очередь печати
  • партия принтов → одна оптимизированная лента
  • меньше работы, ниже себестоимость
DTF gang sheet / nestingавто-подготовка файла минимум плёнкиминус ручная вёрстка
🧠

Нейросеть учится на реальных принтах

самообучение
Выгружаем принты, которые уже приносят деньги. Нейросеть разбирает каждый по тегам Printology и понимает, что именно продаётся. Так Printability Score превращается из догадки в знание о реальных продажах.
Глубина радара · охват = деньги
📡

Клиент покупает не интерфейс, а глубину радара

монетизация
Чем больше источников сканирует система — тем раньше виден сигнал и тем больше возможностей. Это и есть товар.
Базовый
100
каналов
Профессиональный
1 000
каналов
Агентство
10 000+
источников
+ Pinterest · визуальные тренды+ YouTube / Shorts+ платные тренд-сервисы
Выход в мир · после обкатки в РФ
🌍

Один движок — десятки рынков

глобально
Сначала доказываем результат в России. Потом — везде, где хлопок дёшев и есть печать. Под каждый рынок — свой Fine-Tune (свои мемы, повестка, культурные ключи) и своя стратегия источников.
Telegram-контур · СНГ
  • Узбекистан — хлопковый гигант
  • Казахстан — Telegram + VK
  • Кыргызстан · Беларусь · Азербайджан
Meta / платные сервисы
  • Индия — швейный гигант
  • Турция — текстильный хаб
  • Пакистан · Бангладеш · Египет
TikTok / локальные сети
  • Вьетнам — швейный гигант
  • Индонезия — огромный рынок
⚠️ Афганистан — хлопок есть, но интернет/соцсети ограничены, нестабильность. Держим «на потом». Для Бангладеш / Вьетнама рычаг — «копеечное производство», а не хлопок (он импортный).
Fine-Tune под культурусвоя стратегия источниковгейт: результат в РФ
🎯

Кому мы это продаём

клиенты
Везде один и тот же клиент — тот, кто печатает и продаёт мерч, просто на своих площадках.
Принт-студии и DTF-цеха
  • печать на плёнку / ленту
  • прямые получатели авто-раскладки
Селлеры маркетплейсов
  • РФ/СНГ — WB, Ozon, Kaspi, Uzum
  • Турция — Trendyol; Индия — Flipkart, Meesho
  • ЮВА — Shopee, Tokopedia; Египет — Jumia
Бренды и мерч-агентства
  • капсулы под инфоповод
  • товар под тренд «здесь и сейчас»
Весь путь · от тренда до прибыли
Не: тренд → просмотр
01Трендсырьё: что взлетает сейчас
02Оценкаскор и потенциал
03Прогнозвырастет или угаснет
04Идеячто из этого сделать
05Контент / товарформат под канал
06Супер-настройка промптастиль, цвет, слоган под тренд
07Принтготовый макет
08Раскладка на DTF-лентуавто-nesting, минимум плёнки
09Публикация на маркетплейсахпо культурным ключам региона
10Реакция покупателяспрос и продажи
11Масштабированието, что зашло — в тираж
12Прибыльрезультат всей цепочки
Перед публикацией — супер-настройка промпта: он выдаёт принт, который мы публикуем на маркетплейсах с учётом культурных ключей региона. Смотрим реакцию покупателя → реагирует хорошо → масштабируем → масштаб прошёл успешно → прибыль. Это уже не «дашборд трендов», а операционная система для быстрого заработка на возникающих информационных волнах.
Глубокое исследование · Print-on-Demand

Модель зарождения и коммерциализации трендов мерча

Большинство продавцов на WB/Ozon/Etsy реактивны — заходят в тренд на пике или спаде и попадают в перегретую нишу. Преимущество — только в раннем обнаружении. Это исследование описывает, как из информационного шума рождается печатный хит, и даёт формулу, по которой мы стараемся ловить восходящие тренды.

Ключевая идея — «Окно печатной готовности»

Виральность ≠ печатабельность. Пока вирусный контент не превратился в статический символ или короткую фразу (чистый PNG, вектор, канон-шрифт) — печатать буквально нечего, и рост просмотров даёт ложный сигнал. Именно момент кристаллизации символа, а не охват видео, отделяет тренд, который принесёт деньги, от того, что останется просто видео.

Жизненный цикл тренда
1Инкубациязакрытые сообщества (Reddit, X, Discord)
2Аудио-визуальная спайкаTikTok / Shorts / Reels, звук + эмоция
3Окно печатипоявляется чистый символ / канон-фраза
4Кросс-взрывUGC, СМИ, переводы, фан-арт
5Пикнасыщение, бренды, мемкоины
6Выгораниеусталость, распродажи, long-tail
Входить нужно на этапе 3 — когда открылось окно печати, но рынок ещё не насыщен. Главный ранний сигнал именно для мерча: рост поисковых запросов вида «[тренд] png / vector / transparent» — значит дизайнеры уже готовят макеты.
Формула восходящего тренда
Trend Score = W₁·Vg + W₂·Uc + W₃·Pw + W₄·Cs − W₅·Td
Даже при астрономических Vg и Uc: если печатабельность (Pw) = 0 — итоговый скор низкий. Печатать нечего.
VgСкорость роста20%
Первая производная числа запросов (Google Trends, TikTok Search) за 24–48ч — насколько круто загибается интерес.
UcОбъём UGC25%
Сколько независимого контента сделали пользователи: видео под звук, ветки обсуждений — глубина проникновения.
PwОкно печатной готовности40%
Самый важный. Есть ли готовый визуальный символ / канон-фраза (изолированный фон, чёткий силуэт, повторяющийся вектор). 0 — размытые скриншоты; 1 — готовый принт.
CsКросс-платформа15%
На скольких площадках всплеск: 1 = 0.5, 2 = 1.0, 3+ = 1.5. Тренд на нескольких площадках = не случайность.
TdСтарение и насыщениештраф
Дни с первого всплеска + доп. штраф, если мем ушёл в корп-аккаунты и СМИ (для Gen Z это «смерть» мема).
Как мы это применяем
🖨
Вкладка «Окно печати» — наша адаптация без Computer Vision

Мы взяли ядро модели и адаптировали под наши данные: печатабельность (Pw) оценивает AI по заголовку (есть ли готовый символ/фраза) вместо анализа картинок; собираем кандидатов из Telegram + TikTok + YouTube Shorts, считаем PrintScore = печатабельность × (охват + кросс-платформа) и показываем единой лентой с кнопкой Printology. Виральный, но непечатаемый тренд не всплывает — ровно как в модели.

Ключевые кейсы 2024–2025
США · арт

Chill Guy

Готовый изолированный рисунок → нулевая задержка окна печати. От TikTok до глобального мема <2 недель, мгновенный взрыв продаж, токен $CHILLGUY достиг $580M.

Таиланд · животное

Moo Deng

Фото бегемота само не продавалось. Окно открылось, когда фанаты сделали стилизованные PNG с надписями («икона женской ярости»). Дошло до РФ за ~3 недели → сотни листингов на WB/Ozon.

США · фраза

Hawk Tuah

Вирусная фраза → окно за сутки (канонизация звукоподражания). Кепки с типографикой = ~$65k с первой партии. Спад — из-за скам-мемкоина: репутация инфлюенсера коррелирует со спросом.

Россия · субкультура

Скуф и Альтушка

Сленг с «Двача» → окно печати открыла визуальная новелла (чёткие образы). Вал продаж на WB/Ozon, локальный цикл 6–12 месяцев — апеллирует к культурному коду.

Российская специфика

Импортные тренды доходят до РФ с лагом 1–3 недели. Точки входа — Telegram-агрегаторы мемов + рунет-TikTok и YouTube Shorts (ровно наши источники). Первыми на 3–4 день выходят стикеры и кружки (дешёвый цикл), футболки — после доказанной устойчивости. Локальные тренды (Скуф, Русы против ящеров) живут 6–12 месяцев. Английский текст на мерче часто сохраняют — воспринимается как часть Y2K-эстетики.

Источники

Исследование опирается на реальные кейсы и данные — не пустые слова. Ключевые источники:

1.Print On Demand Market Size 2034 — IMARC Group
2.Is Print-On-Demand Profitable 2026 — Printway
3.Tools to Discover POD Trends — Gooten
4.Memetics — Wikipedia
5.Chill Guy — Wikipedia
6.CHILLGUY Token — Atomic Wallet
7.Haliey Welch (Hawk Tuah) — Wikipedia
8.Hawk Tuah Merch — Mashable
9.Moo Deng — ABS-CBN
10.Moo Deng Meme Coin — CoinEx
11.«Baby im» листинги — Wildberries
12.«Cute Baby» листинги — Ozon
13.Skuf (скуф) — Wikipedia
14.Виталий Терлецкий («Альтушка для скуфа») — Toonsmag
15.Oshikatsu — Wikipedia
16.Chiikawa Goes Global — Nippon.com
17.Zanmang Loopy × WePlay — Korea Bizwire
18.Men against Lizards — Steam
19.Redbubble vs Etsy 2026 — Merch Titans
20.EverBee vs Alura — EverBee
21.Ранние сигналы (Pinterest) — Insight Agent
22.Как мемы стали рекламой — TN Admedia

Полный конспект — в репозитории (docs/research_trend_genesis.md), 49 источников в оригинале исследования.

Фидбек-звонок · 22 июля 2026

Встреча 22 июля. Инсайты

Групповой созвон: Алина на громкой связи + команда. Это не каздев с нуля, а чек-ин с действующими пользователями, у которых на кону реальные деньги — они уже продают мерч по нашим маркерам. Ниже: что попросили доработать, что мы из этого поняли и что не успели спросить.

Главное: продукт уже работает в бою

По словам команды, с нашими маркерами они запускали трендовые темы и вставали наравне или быстрее конкурентов — включая тех, кто вообще не пользуется инструментами и подбирает темы руками («люди, которые шарят за футбол»). Это значит, что мы не догоняем рынок, а идём с ним синхронно или впереди. Всё остальное на этой странице — про то, как этот отрыв увеличить и удержать.

Статус на 2 сентября · что из этого сделано

Все три запроса со звонка закрыты

22 июля команда попросила три доработки. Два пункта закрыли через два дня, третий — 2 сентября: препятствие, из-за которого список товаров WB откладывали, оказалось обходимым. Ниже — каждый запрос: что просили, что теперь есть, и как это выглядит на живых данных.

🎤

Запрос 1. Бот сам расшифровывает звук в строчку для принта

сделано 24 июля

Просили: «чтобы он сразу записал текст песни» — печатаемая фраза сидит в словах трека, а не в подписи ролика, и её приходилось отслушивать руками.

Карточка трендового звука со строчкой из трека и переводом

Бот скачивает звук, распознаёт вокал и выносит на карточку готовую строчку-кандидата на принт. Для иностранных треков — сразу перевод на русский. Дизайнеру не нужно слушать ролик: фраза видна в списке.

На снимке — реальная карточка с сайта: трек звучит в 551 тысяче роликов, распознанная строчка «Been spending most their lives living in a gangsta's paradise» и перевод под ней. Пометка «распознано автоматически» стоит честно — мы не выдаём машинную расшифровку за факт. Инструментальные треки остаются без блока, а не с выдуманным текстом.

Открыть трендовые звуки →
🐦

Запрос 2. Twitter/X — вровень с Telegram по возможностям

сделано 24 июля

Просили: «больше фичей и возможностей» у X. Аргумент команды: именно Twitter лучше всех показывает, какая новость залетает и её можно монетизировать, — а развит он был слабее всех.

Карточка западного радара X с метками «новое» и «хит-потенциал»

Радар запоминает вчерашние темы и сравнивает с сегодняшними. На карточках появились метки «новое», «растёт +N» и «N-й день» — видно не просто список, а что именно набирает ход. Плюс поиск, избранное, фильтр по темам и проверка спроса в один клик.

На снимке — живая карточка радара: тема Fable 5.1, помечена как «новое» и «хит-потенциал», рядом — флаги стран, где она в трендах, и кнопки Wordstat / Google Trends / WB / Ozon, чтобы проверить спрос в России не выходя из радара.

Открыть радар Twitter/X →
🛒

Запрос 3. Список товаров WB прямо в карточке — с артикулами

сделано 2 сентября

Просили: «чтобы не заходить на сам Wildberries» — пробежаться по названиям, решить «нужно / не нужно» и скопировать артикул, не открывая маркетплейс.

В карточке тренда появилась кнопка «Что уже есть на WB». Она разворачивает список: наименование, цена, отзывы и артикул — артикул копируется одним нажатием. Сверху стоит главное число: сколько товаров именно по теме, а не сколько всего нашёл Wildberries. Это и есть ответ на вопрос «ниша занята или свободна».

Список товаров WB по ключу «1 сентября футболка» — ниша занята

Ниша занята. Тренд «1 сентября»: по теме — 36 товаров из 100 проверенных, всего WB нашёл 28 425. Видно и что продают («Мама первоклассницы 2026»), и по какой цене, и сколько отзывов — то есть насколько плотно занято.

Пустая ниша: по теме на WB ничего нет

Окно печати. Тренд про кошку Оскар: по теме — ничего. Wildberries показал 42 товара, но совпадает только слово «Оскар» — это футболки с именем, к тренду отношения не имеют. Они не выброшены, а убраны под ссылку «показать частичные совпадения».

Почему не фильтруем по продавцам-«печатникам», как предлагали: печатают все подряд — у одного ключа 36 товаров от двух десятков разных продавцов. Такой список пришлось бы вести руками, и он прятал бы как раз новых конкурентов. Поэтому сверяем название товара с самим трендом; латиница и кириллица считаются одним словом («Лабубу» = «Labubu», «брейнрот» = «brainrot»).

Открыть дашборд →

Отдельно про сам блокер: пункт висел с пометкой «WB не пускает наш сервер». Так и было — но мы ходили за товарами так, будто открываем сайт браузером, а такие визиты с зарубежного сервера Wildberries режет. Оказалось, есть служебный адрес, который отдаёт те же товары как данные, и с сервера он отвечает нормально. Ни прокси, ни доступа к вашему кабинету, ни API-токена продавца не понадобилось.

Что ещё сделали с 22 июля

Кроме трёх запросов со звонка. Работали вдвоём: Павел — калькулятор заказов и внешние сервисы, Руслан — источники, сбор и качество кода.

🧮

Калькулятор заказов переехал из Excel на сайт

Павел · 19 и 25 августа

Расчёт заказа по шелкографии жил в Excel-файле, который передавали друг другу. Теперь это страница сайта: считает один в один с файлом — проверено на 68 сценариях из 68, ни одного расхождения. Страница служебная и закрыта отдельным паролем.

Что изменилось
  • расчёт больше не зависит от того, у кого какая версия файла на руках
  • параметры правятся прямо на странице — программист для этого не нужен
  • ошибка в вводе видна сразу, а не «почему-то не считает»
Сверено с оригиналом
  • 68 разных заказов посчитаны и в Excel, и на странице — цифры совпали во всех
  • обновление от 26 августа перенесено в тот же день
Что поймали по дороге
  • в обновлении нашлась ошибка, из-за которой часть заказов считалась неверно — поймали до того, как по ней посчитали реальный заказ
  • две недоделки в самом Excel-файле выписаны отдельно, чтобы не потерялись
📡

Источников стало больше, сигнал — виднее

Руслан · 9–10 августа
265 каналов вместо 146
  • спорт: было 3 канала, стало 32 — раньше это была слепая зона
  • мемы и юмор — совсем новая тема, 50 каналов
  • музыка: впервые сами артисты, а не только медиа о них
  • из 230 каналов отсеяли 111, чтобы не засорять отчёт мусором
Включён западный блок
  • западные темы доходят до нас с лагом 1–3 недели — это фора по времени, а не паритет
  • тот самый «второй слой рва», о котором спорили на звонке
Видно, как тренд растёт
  • на карточке — рост по часам: «+288% за 12 часов»
  • метка «Всплеск» наконец заработала — до этого не срабатывала вообще
🛠️

Сбор перестал молча падать

Руслан · конец июля — август

Самое неприятное в такой системе — когда она ломается тихо и на сайте просто «вчерашние» данные. За это время поймали и починили несколько таких случаев.

Что чинили
  • ночной сбор TikTok не запускался неделями, и увидеть это было нельзя — починили и сам запуск, и видимость
  • вкладка «Звуки» обнулялась при сбое вместо того, чтобы показать вчерашнее
  • видео США пропускало сбор через день
  • вечерний серверный сбор затирал полные ночные данные урезанными
Доступы
  • дважды продлевали ключ TikTok — сбор вставал на несколько дней
  • плашка «ключ TikTok» показывала неправду о своём состоянии — починили
  • западный радар X снова отбирает темы, а не вываливает всё подряд
Чтобы не повторялось
  • появилась команда «проверь сбор»: за минуту видно, что собирается, что встало и не протух ли доступ
  • весь конвейер сверен по пунктам — что работает, а что только числится работающим
🔌

Внешние сервисы: вернули то, что молчало

Павел · 19 августа
Instagram снова обновляется
  • раздел месяц не обновлялся из-за сбоя доступа к внешнему сервису сбора
  • разобрались — виральные посты снова приходят каждый день
Досье конкурентов — дешевле вдвое
  • собиралось дважды в сутки, хотя данные за день меняются один раз
  • оставили один сбор: содержание то же, расход вдвое меньше
Порядок в задачах
  • список задач отставал от реальности на три выполненные работы — сверили
  • инструкция для агентов противоречила решению включить западный отчёт — убрали противоречие
🛡️

Качество и безопасность кода

Руслан · 29 августа

Проект пишется через ИИ-агентов, и до сих пор за ними никто не смотрел в четыре глаза: что написали — то и поехало на сервер.

Что включили
  • каждое изменение кода проверяется на типовые дыры — около тридцати видов
  • агент видит настоящие ошибки сразу после правки, а не через неделю, когда бот упадёт на сборе
  • из 180 предупреждений 93 оказались ложными по одной причине — разобрали, осталось 87 настоящих
Правила «так у нас не делают»
  • пароли и ключи — только в настройках, не в коде
  • ошибку нельзя проглатывать молча: человек должен увидеть понятное объяснение
  • данные, которые собирает сервер, нельзя затирать со своего компьютера
Что в работе
  • вход на сайт переводим на серверную проверку пароля — снаружи ничего не изменится: та же страница, то же поле
  • отложено сознательно и записано, а не забыто
Что просят доработать · 3 запроса

Важная деталь: все три запроса ложатся на уже существующие модули. Никто не просит новых площадок и новых направлений — просят довести до ума то, что есть.

🎤

Бот сам расшифровывает трендовый звук в строчку для принта

высокий приоритет

Сейчас по трендовому звуку мы даём ссылку и «мем-суть» — подпись залетевшего ролика. Но печатаемая фраза чаще сидит в самих словах песни, а не в подписи. Просят: чтобы бот распознавал вокал/речь внутри звука и выкладывал текст готовым списком фраз — чтобы дизайнер не отслушивал ролики вручную.

Зачем это им
  • закрывает последний ручной шаг в цепочке «звук → принт»
  • кейс из прошлого интервью: «Ча-ча-ча-саранча» = 100 продаж/день — вся ценность была в одной короткой строчке из трека
Что уже есть
  • модуль «Трендовые звуки TikTok» (п.14) — собирает звуки и качает превью
  • то есть исходник для расшифровки у нас уже лежит, нужен только слой распознавания
Как сделаем честно
  • распознавание музыки (вокал + бит + сленг) — не «бесплатно и точно», ошибки будут
  • MVP: расшифровываем только топ звуков, а не всю ленту
  • помечаем «распознано автоматически, проверьте» — не выдаём за факт
🛒

Полный список товаров WB прямо в карточке — с артикулами

средний приоритет

Запрос дословно: «чтобы не заходить на сам Wildberries». Хочется видеть список наименований прямо в интерфейсе: пробежался глазами → решил «нужно / не нужно» → скопировал артикул → и только тогда пошёл смотреть карточку на WB.

Зачем это им
  • ускоряет решение «брать / не брать» тему
  • в прошлом интервью главный киллер идеи — забитая ниша и авторские права; список наименований = быстрый аудит ниши глазами
Что уже есть
  • метрики WB/Ozon в правой панели (п.7) и парсер маркетплейсов
  • но сейчас конкуренция — это в лучшем случае число товаров, а просят сам список
Как сделаем честно
  • данные WB «холодные» (запаздывают), выдача защищена от ботов
  • MVP: кнопка «Что уже есть на WB» — тянем по запросу, а не заранее, и кэшируем
  • при сбое пишем «не удалось получить», а не показываем пустоту как «конкурентов нет»
𝕏

Углубить Twitter/X до уровня Telegram-модуля

высокий приоритет

Запрос: «чтобы было больше фичей и возможностей» — у X заметно меньше фильтров и настроек, чем у Telegram. И тут же ключевой аргумент команды: именно Twitter лучше всего даёт маркеры — какая новость крутая, залетает и её можно монетизировать. То есть самый сильный по сигналу источник у нас развит слабее всех.

Зачем это им
  • это не новый источник, а усиление самого конверсионного из имеющихся
  • прямой рычаг на качество ежедневной выдачи
Что уже есть
  • страница «Twitter/X» задеплоена 12 июля: AI-отбор мерч-пригодного, фильтр по темам, сила сигнала
  • у Telegram-модуля срезов и сортировок пока ощутимо больше
Что доводим
  • те же срезы и сортировки, что в Telegram
  • фильтры по вовлечённости и скорости роста
  • более жёсткая отсечка шума
Ключевые инсайты
01

Мы синхронны рынку или впереди — это и есть доказательство ценности

Встаём наравне или быстрее конкурентов, включая ручных подборщиков без всяких инструментов. Это самый сильный продуктовый и маркетинговый аргумент, который у нас есть — и он пока нигде не зафиксирован.

✕живёт как история в разговоре
✓завести метрику: ловить кейсы «подняли тему раньше / вместе с топами»
02

Twitter/X — самый сильный сигнал «что залетит и монетизируется»

Команда прямым текстом назвала источник, который лучше всех предсказывает деньги. Это расставляет приоритет: X недоинвестирован относительно своей ценности.

✕добавлять новые площадки вширь
✓углублять X — там, где сигнал сильнее всего
03

Запрос везде один: убрать ручные шаги

Все три пожелания про одно и то же — не выходить из инструмента: не отслушивать звук руками, не ходить на Wildberries, не донастраивать X вручную. Продуктовая линия читается однозначно.

→«одно окно для решения о печати»
04

Ценность есть, но она не оцифрована

«Встаём быстрее» — без цифр это анекдот, а не метрика. Не выяснили: на сколько раньше, в скольких случаях, сколько это дало в продажах. Пока нет чисел, ценность нечем защищать ни перед собой, ни перед новым клиентом.

→вопрос номер один на следующий созвон
Открытый вопрос — в чём наш ров
🧭

Если маркеры общие — чистой скоростью долго не выигрывать

без ответа

Вопрос поднял Павел прямо на звонке: если мы встаём одновременно с конкурентами по одним и тем же маркерам — значит маркеры публичные, и «увидеть тренд первым» не может быть нашим долгосрочным преимуществом. Он сам оговорился, что может быть не совсем прав — но вопрос стратегический и остался без ответа.

Что это меняет
  • устойчивое преимущество не в том, чтобы увидеть тренд, а в том, чтобы первыми дойти от тренда до готового принта
  • у ручных подборщиков узкое место — скорость дизайнера; именно туда бьют оба запроса (расшифровка звука и список WB)
Второй слой рва
  • опережающая аналитика Запад → РФ: западные тренды доходят до нас с лагом 1–3 недели
  • это единственное, что даёт настоящую фору по времени, а не паритет

Вынести на отдельное обсуждение — это вопрос о позиционировании продукта, его нельзя решить попутно в бэклоге.

Оценка встречи
6/10
Полезный чек-ин, но это обратная связь, а не глубокое интервью. Ценность — в том, что говорят действующие пользователи с деньгами на кону. Слабость — почти ничего не оцифровали.
Что получили
  • валидацию боем от людей, которые реально продают по нашим маркерам
  • три конкретных запроса, все на существующие модули — можно брать в работу сразу
  • явный сигнал по приоритету источников: X важнее остальных
Вопросы на следующий раз
  • «встаём быстрее» — на сколько, в скольких кейсах, сколько это дало в деньгах
  • расшифровка звука — какая точность считается приемлемой и что показывать, если звук инструментальный или не распознался
  • список WB — сколько наименований показывать, нужен ли фильтр по цене и конкуренции, обновлять по кнопке или заранее
  • общие маркеры и наш ров — вынести в отдельный разговор

Запись велась авто-расшифровкой и местами «грязная» — низкоуверенные формулировки в полном разборе помечены отдельно. Сам разбор — docs/interview_feedback_2026-07-22.md, бэклог — п.17 в To-Do-List.md.