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. Счётчик в шапке и число меток на карточках теперь сходятся.
вернули «о чём ролик» на вкладку Видео · вечерний fallback больше не затирает речь · плашка TikTok-ключа перестала врать
✅🎬 Речь в видео США вернулась и защищена
28 июля Мак закончил сбор рано (20:52) и через 8 минут вечерний резервный сбор на сервере затёр его срез версией без распознанной речи. Данные восстановили, а в резервный сбор поставили защиту: если Мак уже доставил свежее видео — сервер больше не вмешивается.
✅🔧 Плашка «ключ TikTok» показывала неправду — починили доставку cookies
индикатор на вкладке TikTok говорил «ключ истёк», хотя ключ был живой: из-за технической особенности Docker контейнер продолжал видеть старую копию cookies и после обновления. Починили способ доставки (теперь файл обновляется «на месте») — плашка и резервный сбор всегда видят актуальный ключ.
продлили TikTok-ключ и перезапустили дневной сбор · дожали скрытие Roadmap на сервере
✅🔑 TikTok-ключ продлён — сбор хэштегов и видео снова идёт
TikTok в очередной раз сбросил сессию (это его обычный ~3-дневный цикл), утренний сбор упал, а алерт в Telegram сработал как задумано. Руслан заново вошёл в аккаунт, ключ продлён на 3 дня и залит на сервер, упавший сбор за день перезапущен — хэштеги RU/США/Корея и видео с распознанной речью доедут на сайт этим же вечером.
✅🙈 Roadmap теперь действительно скрыт на всех страницах
вкладку убрали из меню ещё 16 июля, но на сервере 6 страниц (Дашборд, Instagram, Музыка, YouTube, Printology, Конкуренты) остались со старой навигацией — ссылка продолжала показываться. Сегодня довезли скрытие до сервера: меню одинаковое везде, сама страница по-прежнему открывается по прямой ссылке.
ожили конкуренты 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 и записали вопросы на следующий раз
полезный чек-ин, но почти ничего не оцифровали: «встаём быстрее» — на сколько, в скольких случаях, сколько это дало в продажах. Пока нет цифр, ценность нечем защищать. Список недостающих вопросов лежит прямо на вкладке — чтобы следующий созвон начинался не с чистого листа.
временно убрали вкладку «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.5 | 2.18 ₽ |
| + ещё направление | Claude Sonnet 4.5 | 0.52 ₽ |
| 🎲 Кубик (правка поля) | Gemini Flash Lite | 0.003 ₽ |
| Переделать промт | Gemini Flash Lite | 0.006 ₽ |
| Картинка — черновик | Gemini Flash Image | 2.98 ₽ |
| Картинка — Nano Banana Pro | Gemini 3 Pro Image | 10.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, шкалы растут слева-направо, карточки появляются каскадом
✅Метрика «Трендов» заменена на «Просканировано» — живое число кандидатов до отсечки