Который по апи собирает новостные рассылки, суммаризирует и постит в Телеграм по крону.

Почему я вообще об этом задумался

Я давно был любителем почтовых рассылок как способа получать апдейты на интересующие темы. С развитием платформ как Substack все больше авторов (в основном зарубежных) переключились на рассылки как на основную платформу.

Однако UX подобных рассылок оставлял желать лучшего:

  • Gmail не славится интерфейсом для казуального чтения

  • Рассылок очень много и читать все невозможно

Из специализированого лейбла для рассылок в моей почте
Из специализированого лейбла для рассылок в моей почте

Шаг 1: Рассылки как лента

Первая идея была запихнуть все рассылки в единую ленту для "Facebook-like" опыта. Проект склепали на коленке довольно быстро. Так же бысто нашли конкуртенов в лице meco и других интерфейсов для чтения рассылок.

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

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

Потом вышел ЧатГПТ

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

После быстрого MVP в Ноушене, прикрутили интерфейс и пробовали пользоваться. Тут я даже смог включить Feedster в свою утреннюю программу т. к. апдейты читаются быстро и все, что цепляет взгляд можно "форварднуть" в Reader - приложение от Readwise для чтения чего бы то ни было.

Так же мы попробовали прикрутить "цели" - идея в том, что GPT должен использовать "learning goals" юзера для фильтрования контета. Стоит сказать, что работало это не очень хорошо, GPT часто пропускал нерелеватные выпуски и отфильровывал явно подходящие. Мы закончили тем, что ставили Everything в цели (как ни смешно - но это тоже иногда не помогало.

Диаграмма, которой я объяснял свою идею с "целями"
Диаграмма, которой я объяснял свою идею с "целями"

Имплементация состояла из NestJS как апи и Notion, затем Next.js как фронтенд. Для фетча ньюс-леттеров (и кстати RSS, но по итогу этим мы почти никогда не пользовались) и суммаризации используем крон-джобы. Есть вопросы по scalability и общей надежности, но пока мы несколько энтузиастов кто пользует - работает гуд-энаф.

Забавная часть была в "уговаривании" GPT отвечать в джейсоне, я помню где-то неделю гонял промпты пока наконец он перестал добавлять "here's your JSON" в начале каждой суммаризации.

Почти слово-в-слово наш промпт по генерации JSON
Почти слово-в-слово наш промпт по генерации JSON

Проблема окончательно ушла после миграции с GPT-3.5 на 4-mini и затем на 4.1-nano. Так же была идея мигрированть на Langchain, но она так и лежит в бэклоге до лучших времен.

Последняя версия приложения Feedster
Последняя версия приложения Feedster

Как родилась идея с каналом

Недавно, я решил пойти дальше и попробовать перенести дайджесты в Телеграм. Персональные рассылки конечно хорошо, но без нормально работающих "целей" и других аспектов персонализации мы тратили кучу токенов на суммаризацию одного и того же. Так почему бы не объединить ленты по тематикам и не выложить публично?

Типичный пост с канала.
Типичный пост с канала.

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

Из дополнительных фич специально для Телегама - добавил ссылки из рассылок (MD форматированные) и перевод на русский (Все-таки ЦА Телегама в основном русскоязычные ребята).

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

Cursor старательно рефакторит промпты
Cursor старательно рефакторит промпты

Качество до сих пор сомнительное

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

Все еще пропускает ссылки, генерит чушь, или просто отказывается. Однако с ростом моделей, экспериментов с промптами дела идут в гору и однажды польза от контента возобладает над кринжом чтения средне‑качественного AI продукта.

Из планов по улучшению у нас:

  • Дедублкация — если 2 рассылки пишут про одно и тоже.

  • Сортировка по саб‑топикам — сейчас выглядит как стена текста из разно плановых идей.

  • Потенциально — поиск новых ниш кроме новостей по веб‑разработке.

Так же каждый день читаем сами и думаем, чего же все‑таки не хватает, что бы получился по настоящему полезный Телеграм канал. Для интересующихся понаблюдать за развитием (или падением) идеи — оставлю ссылку на канал: itfeedster

Комментарии (6)


  1. 4kirill20
    19.07.2025 08:19

    У вас в гиперссылку попала точка — из-за этого ссылка значится битой


    1. andreykeycee Автор
      19.07.2025 08:19

      Поправил, спасибо большое за внимательность!


  1. j-b
    19.07.2025 08:19

    Уже давно изобретены RSS агригаторы / читалки / компоновалки, с оповещением в том-же телеграмм. Идея сбора и обработки новостных лент уже как давно не нова, просто в чем отличие их от вашей?
    И да, а где тут JavaScript?
    Это еще одна реклама своего телеграмм канала выходит...


    1. andreykeycee Автор
      19.07.2025 08:19

      Согласен про RSS, однако моя идея идет как мне кажется немного дальше - я пытаюсь заставить ИИ анализировать ленту, которая идет из Gmail и того же RSS и работать над ней - суммаризировать, фильтровать и тп.

      Про Javascript в статье нет - вы правы, мне стоит подробнее раскрыть техническую реализацию в следующих постах.

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


  1. Ne_programmist
    19.07.2025 08:19

    Исходя из своего опыта я могу сказать что вы двигаетесь в правильном направлении. Я сделал ТГ канал скажем так полуавтоматический. ИИ в нём оформляет и переводит пост. Сначала я так же как и вы искал модель которая хотя бы четко выполняет промт и возвращает валидный json. Потом когда дело наладилось, мне захотелось более качественного перевода и методом подбора я нашел наиболее подходящую для этого модель. Кроме chatgpt существует масса других моделей. Посмотрите более детально. На опенроутер модели разбиты по категориям и каждая имеет описание и там можно каждую попробовать. Посмотреть на её тупость. Я бы вам посоветовал сохранять сначала данные в векторную бд и только потом скармливать их нейросети. Суммаризация данных не такая уж и сложная задача. Рассмотрите low code платформы, например n8n. Если хотите могу вам ссылку на этот ТГ канал отправить. ПосмОтрите историю моих экспериментов и результат сегодняшний. Заранее признаюсь что откровенную дичь я все же удалял.И ещё, посмотрите внимательно на данные которые вы передаёте. Может их стоит как-то структурировать или очистить перед тем как их передать? А сейчас я открою вам страшную тайну: данные которые рожает нейросеть тоже можно обрабатывать. Нейросеть дала свой комментарий перед или после json? Напихала лишних тегов? Всё решается с помощью простейших функций. Найдите закономерности, крепко подумайте над промтом. Не стесняйтесь использовать более одной модели. Каждая модель в чем-то особенно хороша . Делите описание модели на 2. Маленькая модель не означает плохая модель . И прочее.


    1. andreykeycee Автор
      19.07.2025 08:19

      Спасибо за развернутый фидбэк! И да, было бы интересно посмотреть на ваш канал :)