TGViewer
Channel Public Channel
FEDOR BORSHEV

FEDOR BORSHEV

@pmdaily

Рассказываю, как руководить программистами

fborshev@pm.me / borshev.com

Реклама не продаётся
Subscribers
23.7K
Photos
37
Videos
1
Links
683
Recent Posts 20 shown
Post #1370 5K
У Зои недавно случился первый outage — перестали ходить авторизационные СМС.

Я с самого начала решил, что проект будет исключительно монолитным. Так и живем уже год — весь код, включая бухгалтерию, шаблоны сторисов и учёт затрат на маркетинг живет в одном репозитории. Полгода назад, правда, искал сокращалку урлов и решил, что навайбать свою будет быстрее, чем разбираться с традиционно кривыми API отечественного производителя. В итоге она и выпала.

У нас есть массовая (вернее не совсем, всего пара сотен) рассылка СМС. В какой-то момент скорость создания этих СМС переросла порог тротлинга в сокращалке урлов (не спрашивайте, зачем там тротлинг на внутреннем API — это только клод знает). Сокращалка отказала, и СМС пошли с полными урлами, всеми этими utm_medium и utm_source — кароч по три СМС вместо одной.

Как назло, на балансе было мало денег — СМС-провайдер начал отказывать с 402. Но у нас же ретраи! Из-за ретраев случился уже шторм — в какой-то момент провайдер стал отвечать уже не 402, а 403 (вернее заменил 200 ok с текстом «No Money», на 200 ok с текстом «ip blocked», но кого такое удивляет). В общем пока я проснулся, пока сообразил как чистить очередь ретраев, пока пополнил баланс — потеряли кучу денег на рекламу.

Вот и получилось, что есть несколько сервисов, каждый по отдельности работает хорошо, а когда начинают коммуницировать между собой — случается хуйня. Мне кажется в эпоху AI все баги такими и будут: потому что на привычные ошибки в коде легко нагенерить тестов, даже не имея специальных знаний. А вот коммуникацию между сервисами, просто так, увы, не протестируешь.

Делайте монолиты кароч. Ну или хотя бы слушайте Антона.
Post #1369 9.47K
Слезайте с хайп-трейна

Не понимаю, почему профессионалы тратят время на AI-хайп.

Конечно у новостей и помоек с публикациями типа «500 лучших скиллов» аудитория будет всегда — непрофессионалу легко превратиться в Буратино, поверившего в чудо: вчера NFT, сегодня AI.

Но вот почему профессиональные программисты продолжают тратить часы чтения и экспериментов на то, чтобы на полтора процента увеличить себе производительность, я не понимаю.

Очевидно же, что генерация буковок в коде — это теперь товар широкого потребления. Как ты в ней не тренируйся, завтра выйдет новый харнес, в который вложены десятки тысяч часов, а не твоя жалкая сотня. И тренироваться теперь надо не в умножении сложности, которую мы так любим, а наоборот, в её уменьшении.

Не пилить микросервисы, а выпиливать. Не генерить код для новых фичей, а обсуждать эти фичи с бизнесом и выделять важное. Не сочинять сложный system design (его и навайбать вообще-то можно), а придумывать простые и элегантные решения.

Кароч, приходите на Коммункиацию Систем 30 сентября — будем говорить о вечных, а не проходящих, ценностях: чем простые системы отличаются от сложных, как они хранят данные и изолируют ответственность, и как обходить легаси и не создавать новое в больших системах.

Будем рады всем, кто хочет научиться сначала думать, а потом делать.
Post #1368 11.7K
Не бегать от того, что не умеешь

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

Когда программируешь — всё бинарно: CI проходит — значит ты молодец, не проходит — иди разбирайся. В продуктовой работе всё непонятно: вот сделал ты фичу, а как понять, пользуются ли ей вообще? А ту ли ты фичу вообще сделал? Надо говорить с пользователями, проверять гипотезы — сложно, в общем, особенно для программиста.

Сейчас я почти перестал программировать (ai же), а к продуктовой работе добавил маркетинг. Теперь продуктовая работа кажется понятной. Делов-то — придумал гипотезу, поставил тестировать, через неделю проверил. Выстрелила — молодец, не выстрелила — тоже молодец: всё равно завтра следующую гипотезу запускать.

А вот маркетинг — тёмный лес. Как понять, почему с нового канала приходит мусорный трафик — это я таргетинг плохо настроил, офер кривой или канал мёртвый? Почему органика выстреливает в одном сторе и не выстреливает в другом, и по каким запросам люди нас вообще ищут? Как распределить деньги между работающими каналами и экспериментами? Чуть устал — и идёшь заниматься микроулучшениями в продукте вместо дистрибуции.

Кажется так устроен любой человек: хочет делать то, что умеет, и не хочет делать то, что не умеет. И работа стартапного CEO как раз и состоит в том, чтобы делать то, что не умеешь. А что умеешь — делегировать, чтобы освобождать место в голове.
Post #1367 11.2K
Системная память в AI-харнессе — это плохо

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

Но проблема в том, что все эти инструкции остаются внутри ~/.claude. То есть у другого программиста в том же репозитории и переменные будут названы по-другому, и буллшит будет другой формы. Со временем твой агент посмотрит на чужие примеры, и начнёт писать так же. Потом, наверное, и память незаметно подменит, если долго его не ругать.

Кароч, считаю что любые инструкции для агента должны быть воспроизводимыми — лежать прямо в репозитории, для которого они предназначены. А глобальный CLAUDE.md должен быть вообще пустым.
Post #1366 18.6K
Я спросил у опуса

Верный признак плохого менеджера — пересылать в команду письма от клиента без каких-либо приписок, ну разве что иногда добавляя что-нибудь вроде JFYI. С 25 года появился новый жанр — «я спросил у опуса и <тонна копипасты>». Напишу тем, кто так делает — вдруг у вас ещё не всё потеряно.

Друзья, у опуса я могу и сам спросить. Кожаный мешок существует не для того, чтобы перекладывать текст из одного места в другое — он нужен, чтобы приносить ценность и принимать ответственность. К копипасте из LLM можно приложить много ценности: начиная от фактчекинга и заканчивая тем, что вообще убрать копипасту и написать мне в один абзац, что в предлагаете сделать.

Префикс «я спросил у LLM» не спасает от ответственности: вас уволят, а опус останется. Всё, что делает этот префикс — говорит команде, что вы не уважаете их настолько, что не готовы потратить даже 5 минут на банальную проверку источников.
Post #1365 14.4K
День рождения школы

Мы с Марьяной впервые встретились в перерыве между карантинами — в августе 2020 года. Почти сразу начали делать первую версию «Стать Тимлидом» — он родился из накопленного у обоих опыта, которым хотелось делиться.

Прошло уже целых 6 лет, офигеть. Школа пережила ковид, пережила сломанные платежи и потерянные данные. Надеюсь, переживёт и текущий кризис.

День рождения получается не очень весёлый, но всё таки это повод — так что вот вам скидка 25% на все самостоятельные курсы. Действует до вечера среды — приходите знакомиться, если давно присматриваетесь к «Анализу Систем» или лидерским курсам. Забирайте «Самому не проще» или «Есть минутку» если хотите прокачаться в делегировании или управляемой коммуникации. Промокод SIX.

Что там у них →

С днём рождения нас!
Post #1364 15.4K
Как дела у Зои

TLDR — прорывов нет, работаем.

Реклама продолжает болтаться вокруг прибыльности — чтобы нормально достроить финмодель, надо подождать ещё 2 месяца, чтобы когорты, пришедшие на текущую версию продукта, стали хоть чуть-чуть зврослее.

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

Очень необычно себя чувствовать одновременно CEO, который берётся за всё непонятное и думает про стратегию, и разработчиком, который просто пилит фичи. Во всех прошлых продуктовых забегах я ограничивался ролью CTO, изолировал себя от маркетинга. А сейчас осознал, что кроме меня это никто не сделает — и поменял букву T на E.

Жутко интересно и страшно — только живых денег потратили уже 1.3 млн, и дальше эту сумму надо только увеличивать.
Post #1363 16K
Вернулся на Claude code

Вот уже больше месяца прошло, как я отказался от OpenCode и pi в пользу Claude code. Попробовал просто в надежде сэкономить токенов после того, как Copilot перестал выдавать свои первые бесплатные дозы, да так и остался.

Да, Claude code намного медленнее свободных альтернатив, но планы, которые он приносит — гораздо полнее и продуманнее. Оказалось, что мне гораздо ценнее получать ответы через 5 минут, чем через 2 — потому что через 5 минут мне достаточно будет написать «ok», а сколько ещё итераций понадобится после двухминутного ответа — заранее неизвестно.

Клёво, что теперь не надо думать о выборе модели и о том, насколько заполнено контекстное окно — всё это происходит где-то в недрах харнеса.

Немного бесит кривая система настроек и театр безопасности (а вы точно доверяете этому фолдеру? А можно я запущу find? Ой, а find -exec?). Но со всем этим можно мириться ради большей автономности агента и проработанных планов.

Opencode остался только в местах, где нужно совсем тонкое взаимодействие с моделью — к примеру для системы перевода материалов школы на английский, или в экспериментах с локальными моделями.

Вспоминаю ощущения от перехода с линукса на мак — контроля стало меньше, а результата больше.
Post #1362 16.4K
А вы заметили как обесценилась в последнее время команда ping? 10 лет назад, чтобы проверить интернет в сомнительных условиях, я делал ping google.com, 1.1.1.1 или yandex.ru, и смотрел результат.

Сейчас такой пинг ничего не значит — ответ может прилететь от ВПН-клиента или вообще от ТСПУ. Даже если ответ прилетит от оригинального хоста — далеко не факт что я до него достучусь с реальным запросом — пинг может проходить, а коннект на 443 порту рваться посередине хендшейка.

Теперь, чтобы проверить интернет, хожу на 443 порт — пишу curl ifconfig.co: сразу проверяет и доступность интернета, и маршрутизацию. А вы как?
Post #1361 19.5K
DevEx → VibeEx

Кажется, я насмотрелся на достаточное количество новых проектов, чтобы утверждать, что AI-тулинга повылезали ровно те же проблемы, что и любых других программистских инструментов. И самая главная из них — воспроизводимость.

Какие-то проекты хранят все llm-наработки в курсоре одного из разработчиков. Кто-то жёстко рассчитывает на внешние скиллы, которые неизвестно где взять. Где-то каждую новую юзер-сторю реализуют с новым паттерном, потому что никто не озаботился выкинуть неактуальный код, и llm считает его живыми примерами.

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

Сделать проект удобным одновременно и для агентов, и для кожаных мешков — это всё ещё работа кожаных мешков. И это такой же техдлолг, как и любой другой.
Post #1360 17.7K
Уйти на второй круг в бизнесе

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

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

Чтобы такого не было, молодых пилотов учат думать инвертировано. Не «мы садимся, а если что-то пойдет не так, то уйдём на второй круг», а ровно наоборот — «мы уходим на второй круг, но если вдруг мы поймём, что самолёт стабилизирован, и мы своими глазами видим полосу — тогда сядем» (знатоки авиации наверное меня поправят).

Теперь посмотрим на предпринимателей. Закрыть бизнес — это же поражение: не смог придумать продукт, который интересен пользователям. И от нежелания признавать это поражение появляются потерянные годы и кредиты под залог недвижимости. А вообще-то закрыть бизнес — такой же профессиональный поступок для предпринимателя, как уйти на второй круг для пилота.

Пытаюсь вместить этот майндсет в свою голову с Зоей — не ждать, что мы сделаем гениальный продукт нужный рынку, а понимать, что мы проект идёт к закрытию, но если вдруг где-нибудь увидим железный Product-Market fit, то тогда остановим его закрытие.
Post #1357 20.3K
Назови свою цену

Ненавижу, когда люди не могут назвать цену за свои услуги. Вот нанимаю я исполнителя на разовую работу, к примеру написать пачку кода. Разговор подходит к деньгам, я спрашиваю сколько эта работа стоит, а в ответ получаю странное «сколько заплатишь, столько и ок».

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

Единственное, что при этом вижу я — что почему-то исполнитель не хочет принимать ответственность за то, чтобы назвать свою цену. И пытается переложить эту ответственность на меня.

Я от своей части не отказываюсь, но интересно, а когда мы всё-таки договоримся про деньги и начнём делать работу — ответственность за её результат исполнитель тоже мне вернёт? А когда в процессе вылезут проблемы, исполнитель так же постесняется мне о них сказать?

Удивительным образом, ненависть появляется именно при найме самостоятельных людей на конкретные услуги. При трудоустройстве всё совсем по-другому.

---

20 мая стартует 6 поток «Анализа Систем». Обсуждаем, как строить большие системы для бизнеса, а не на основе докладов с конференций.
Post #1356 18.1K
Ищем синьёрных питонистов

Мы в ФАНС ищем бекендеров на проектную работу — 3-4 месяца. По итогам, если сработаемся, сможем заключить долгосрочный контракт.

Стек — современный python, django, местами fastapi. Работаем в github, оплачиваем подписки copilot или cursor на выбор.

Требования всего два:
1. Писать хороший код (как выглядит хороший код на наш взгляд можно посмотреть тут)
2. Выполнять обещания. Если сказал, что сделаешь в среду — надо делать в среду.

Работа удалённая, 4 дня в неделю со свободным графиком и полной занятостью.

Писать на python@fands.dev. Мы точно не сможем ответить, если ваше письмо будет похоже AI-мусор, в нём не будет примеров ваших проектов или оно будет состоять из одного только CV.pdf.
Post #1355 15.7K
Полюбил Spec-driven development

Недавно осознал, что допрогал вайб-фронтенд Зои до состояния, при котором стандартного контекста opencode (128k) перестаёт хватать на большие задачи.

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

Естественным образом пришёл к openspec. Теперь у меня есть отдельный этап проработки спеки, и в любой момент этого этапа можно открыть буквально весь текущий план разработки. Не надо помнить, что там было две реплики назад, и проверять не потеряла ли модель мелкий багфикс, который мы нашли по дороге.

Архив спек пока не оценил, но кажется что это почти как ADR, только на уровне кода. Хороший архив по-идее делает ненужным сервисы типа entire.io. А ещё openspec открывает дорогу к отказу от тормозного opencode, который вместе с моим agents.md занимает уже больше 20к, в сторону быстрого и управляемого pi.

В общем как бы странно это ни звучало, но я теперь снова пишу ТЗ.

---

20 мая стартует 6 поток «Анализа Систем». Ждём мидлов и синьёров, которые хотят надёжных знаний по архитектуре больших систем.
Post #1354 16.2K
Выходной — это когда нет планов

Я работаю по выходным. Слишком люблю то, что делаю, чтобы надолго от этого уходить.

Самое главное правило, которое я сформулировал за годы такой работы — на выходной нельзя ставить планы. Если проводить выходной день так же, как будний, с обзором-перепиской-помидорками, довольно быстро устанешь и возненавидишь не только работу, но ещё и самого себя.

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

Ни в коем случае нельзя обещать кому-то «посмотреть на выходных» — одно такое обещание (даже данное самому себе) может испортить всё фланирование. Выходные — время свободы от планов, только так работает отдых. Сделал работу — хорошо. Не сделал — хорошо.
Post #1353 13.8K
Небольшие онлайн-школы закрываются

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

Вторая — ИИ-страх. Типа нахрена мне учить новые технологии и подходы, если я могу потерять будущее, а пока не потерял — всё можно спросить у опуса.

Мы держимся. Причём не потому, что умеем считать деньги и планировать вперёд (хотя я этим и горжусь), а потому, что большинство наших продуктов стали только актуальнее в новом мире. Смотрите, единственное, чего не умеет опус — это быть полезным бизнесу: вынимать требования, выстраивать их в цельную систему, обходить говнолегаси и проектировать новое так, чтобы не переделывать. К слову, этого не умеют 80% процентов программистов до сих пор.

«Анализ Систем» — как раз об этом. Шестой поток начинается с 20 мая — как раз после дач и отпусков. Учебная нагрузка — примерно 10 часов в неделю. Это довольно интенсивный курс, поэтому если возьмете на работе отпуск хотя бы на один день в неделю — будет проще затаскивать. Если до сих пор сомневаетесь — посмотрите демку на сайте.

До вечера вторника действует промокод S6FSTART на 10% скидки.
Post #1351 15.4K
Не верю в автономных агентов

По-моему, хайповый OpenClaw очень похож на Apple Watch — такое же футуристичное, но бесполезное дерьмо.

Клёво конечно, когда агент без моего участия что-то пишет. Но мне же всё равно придётся проверить за ним код! Если не проверю — рискую, что он задеплоит в продакшн неработающее говно, да ещё и когда меня не будет рядом.

Или представить агента, который в фоне решает долгую задачу и периодически задаёт мне вопросы в телегу. Выглядит круто, но я же не хочу, чтобы мне задавали вопросы в телегу! Неважно, человек это или робот — если меня нет за компьютером, то наверное я отошёл не просто так. Да и в любом случае, раз уж я ставлю задачу, то лучше сконцентрироваться и поставить сразу нормально, чем потом постоянно отвлекаться, отвечая на вопросы.

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

Кароч, языковые модели клёво решают программистские задачи: как организовать код, как спроектировать API и что порефакторить, чтобы в систему влезла новая фича. Но они бесконечно далеки от решений, которые касаются бизнеса — какую часть фичи дропнуть, чтобы успеть поскорее, какую — переложить на соседнюю команду, а что лучше перенести на следующий спринт, чтобы в текущем катить атомарную пачку изменений.

В моём понимании, хорошая AI-assisted разработка в 2026 году выглядит так же скучно, как и в 2023: я ставлю задачу в трекер кожаному мешку, веду с ним коммуникацию (лучше бы нет) и получаю результат от того же кожаного мешка. Просто результата должно быть в 3 раза больше, а кожаный при этом должен меньше уставать.
Post #1349 17.8K
FEDOR BORSHEV Не писать тесты с LLM Со всех сторон слышу, как люди генерят тесты при помощи LLM. Чуваки, так делать нельзя! Это видимость тестирования, прямо как assertion-free testing. Когда кожаный мешок пишет тесты (не важно до кода или после), он работает не над ними…
Поменял мнение по поводу AI и тестов

Кароч, я поменял мнение по поводу генерации тестов в LLM. Теперь считаю, что делать это можно и нужно.

Мой старый посыл был в том, что когда кожаный мешок пишет тесты, он лучше думает о коде. Но ведь ничего не мешает подумать о коде на этапе планирования. Если сделать это хорошо — будете буквально попросить модель «Write tests: 1. for XXX; 2. for YYY; 3. All tests you suggest». То есть описывать важные для бизнеса тест-кейсы, предоставив модели тестирование скучных крудов.

Увы, LLM-тесты, по крайней мере в pytest, всё ещё не сравнятся с человеческими по лакончиности и читаемости. Но это не так уж и важно — если загнать в AGENTS.md достаточное количество правил и примеров, то тесты получаются вполне приемлемыми. А чуть-чуть поломанная читаемость — вполне адекватная плата за скорость: в конце-концов чинить эти тесты тоже будет LLM, а не человек.

Ну и ревью, конечно, никто не отменял — каждый сгенерированный тест нужно прочитать вручную перед мёрджем, как и весь другой код.
Post #1348 17.3K
python-telegram-bot как пример продуктовой ошибки

Создатели опенсорс-инструментов совершают продуктовые ошибки ещё чаще, чем предприниматели.

Каноничный пример — python-telegram-bot. Хороший, вроде бы, фреймворк: приемлемый бойлерплейт, поддерживает все нужные эндроинты, в документации разобраться тоже возможно.

Но вот несколько лет назад его взяли и переписали на asyncio. Получилось очень по-программистски: авторы не надели шляпу пользователей, у которых уже есть кодовая база. Хочешь новые фичи и секьюрити-фиксы — будь добр, переписывай кодовую базу под никому не нужный async. Авторы даже не удосужились как-то продать юзерам ценность перехода, добавить хоть каких-то фич. Просто переписали и всё — в анонсе нет вообще ни капли смысла, одни только «embracing the future». Оно и понятно — откуда взяться смыслу, если у телеграм-ботов в принципе не может быть задач, для которых нужен event loop.

Самое смешное в этом переходе — фреймворк даже на asyncio продолжает быть однозадачным: не будет отвечать одному юзеру, пока обслуживает другого. Чтобы включить интуитивно ожидаемое поведение, надо в бойлерплейте писать какое-то странное заклинание, что-то вроде bot.init(simultaneos_updates=True).

Не люблю, когда продуктовые решения принимают по-программистски.
Post #1347 14K
Качать многозадачность

В последнее время, работая над Зоей, чувствую себя на последней картинке — приходится одновременно быть бекендером, девопсом, фронтендером и биайщиком. И кажется я с этим справляюсь, хотя продуктовую работу тоже надо делать — вместе с Саматом и Настей формулировать гипотезы, планировать юридическую и налоговую часть бекофиса. Да и аутсорс вместе со школой никуда не делись.

Когда появляется час на вдумчивую работу (больше за раз найти не получается) — нужно одновременно продвинуть все возможные направления: сделать ПР в 3-4 репы, докрутить SQL в метабейзе, а в идеале — поизучать документацию директа и налоговое законодательство. Конечно, приходится гонять одновременно 3–4 таски в opencode — других вариантов нет.

Вижу, как поменялось время. Раньше нужно было сдерживать себя: если взял задачу — не думать ни о чём другом, а то потеряешь контекст и придётся делать заново. Сейчас стерильная кабина нужна только, чтобы быстро перепрыгивать между терминалами, чтобы LLM не ждала кожаного мешка.

Не представляю, как я бы справлялся без самого обычного опыта управления проектами — когда с одной стороны сыпятся требования, с другой срываются сроки, и все это происходит одновременно в 3–4 контекстах.

Кажется, сейчас этот опыт нужен буквально всем: если раньше ты руководил только собой, то сейчас чем больше ai-джунов ты можешь потянуть — тем больше ты молодец.
Older posts →

About this channel

How can I read @pmdaily without a Telegram account?
TGViewer shows the public web preview Telegram publishes for FEDOR BORSHEV: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does FEDOR BORSHEV have?
FEDOR BORSHEV (@pmdaily) has 23.7K subscribers on Telegram, refreshed roughly every 30 minutes.
Does FEDOR BORSHEV know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →