Проект: Базовые Новости — самые важные новости раз в день  Публичный пост
29 августа 2026  988
Базовые Новости — самые важные новости раз в день
https://basicnews.world

Всем привет! Меня зовут Фил, я давно работаю программистом и всегда любил делать разные проекты.

Пару недель назад я запустил Базовые Новости. Это небольшая платформа, которая собирает новости из нескольких источников, ранжирует их по важности и выдаёт в виде короткого дайджеста раз в день: самое-самое важное в мире идёт в публичные каналы (на русском и на английском), а в боте пользователи видят те новости, темы и регионы для которых они выбрали в настройках.

Выглядит это сейчас примерно вот так
Выглядит это сейчас примерно вот так

Как появилась идея? Что вдохновило?

У меня давно было желание найти такой дайджест новостей, чтобы узнавать из него всё действительно важное, но при этом вспоминать о нём раз в день или реже. Такой дайджест всё никак не находился, и, в целом, я подзабил на эту идею, но некоторое время назад моя жена подошла ко мне и сказала: "Ты знаешь, что в Албании вовсю бушуют протесты, но в большинстве СМИ об этом — ни слова?" О протестах в Албании на тот момент я действительно ничего не слышал, хоть мы и живём на Балканах. И я подумал, что вот теперь-то, с такой доступностью LLM, можно быстро смастерить себе свой собственный дайджест. Я описал примерный systems design документ для проекта, показал его Клоду, офигел от того, сколько потенциальных косяков он нашёл и сколько полезных идей накидал, и принялся за работу.

Что вошло в прототип и сколько времени на него было потрачено?

Пара месяцев по вечерам — в основном, в роли технического менеджера для Клода — и вот, у меня есть довольно легко расширяемая платформа, которая:

  • Собирает новости из разных источников
  • Получает из LLM саммари на русском и английском, а так же: категорию, список регионов и оценку важности новости, учитывая текущий контекст
  • Кластеризует истории и объединяет дубликаты
  • Отправляет дайджесты в каналы и пользователям через бота, опираясь на кастомные настройки
  • Поддерживает базу данных с пользователями, настройками, статистикой и механизмом оплаты (пока что только Telegram Stars)

Вот так выглядит одна из страниц со статистикой. Пик потребления произошёл при добавлении новых источников новостей
Вот так выглядит одна из страниц со статистикой. Пик потребления произошёл при добавлении новых источников новостей

Какой технологический стек вы использовали? Почему?

TypeScript, MikroORM поверх PostgreSQL, Redis с BullMQ — это всё просто мой стандартный набор. В качестве провайдера LLM использую Anthropic (claude-haiku-4-5 как основная модель для анализа новостей), а для эмбеддингов приспособил Voyage AI (voyage-4-lite, там что-то в районе миллиона токенов в месяц бесплатно, этого хватает выше крыши). Ещё прикручен Google Translate API, пока что не используется, но будет для локализации на другие языки, если это будет актуально (пока что всерьёз думаю только над добавлением сербского).

Платформа состоит из микросервисов (ну, некоторые из них нехило раздуло, и не такие уж они теперь и микро), всё хостится на Railway. Из способов доставки дайджестов пока что только Телеграм-каналы и бот (ссылки выше), и ещё RSS-ленты на обоих языках на сайте.

Как вы запускались и искали первых пользователей?

Запускаюсь и ищу первых пользователей прямо сейчас!

Специально по такому случаю сделал промокод VAS3K2026, который даёт разовую скидку 50% и будет действовать до Новогодней ночи. Помимо него, промокод VAS3KCLUB будет работать всегда (строго говоря, до Нового 2150 года) и давать 20% скидку на всё. Также есть 10-дневный триал для (пока что единственного) платного тарифа в боте. Если же вы не можете купить подписку сейчас, но очень хотите попробовать пользоваться ботом подольше, то напишите мне в личку, и я сделаю вам инвайт на три месяца.

С какими самыми неожиданными трудностями пришлось столкнуться?

Самая назойливая проблема — это избавиться от дубликатов. Общая схема работы такая: если эмбеддинги прям совсем рядом, то объединение происходит автоматически, а если они в пределах какого-то порога "похожести", то две новости сравниваются через дополнительный вызов к LLM. Сейчас с этим существенно лучше, хоть изредка и проскакивают повторы, но в самом начале я сглупил и генерировал эмбеддинги из оригинального текста новости, прямо на том языке, на котором она в источнике. В результате, между новостями на русском и английском всегда было существенное различие в векторном пространстве, и дубликаты не склеивались, какие бы щедрые пороги "похожести" я не устанавливал. К счастью, довольно быстро докопался до причины.

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

Сколько потратили и заработали? Есть идеи как это можно монетизировать?

Потратил в пределах $100 за два месяца, учитывая подписку на Клод. Сейчас ориентировочно трачу $50 в месяц без учёта подписки, поскольку пришлось проапгрейдить подписку на Railway, и токены в Anthropic тратятся быстрее из-за большего количества источников новостей, которые я недавно добавил.

Монетизировать планирую через Telegram-бота, а если вы хотите поддержать проект, но не хотите читать никаких новостей, то можете отправить донат через PayPal или Patreon, я буду очень благодарен!

Какие планы на будущее?

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

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

Нужны ли какие-то советы или помощь Клуба?

Буду очень рад вашим советам по двум пунктам выше: как монетизировать и для каких ещё тем можно приспособить таких ботов. Ну и вообще, с радостью прочитаю любые ваши идеи и фидбек!

Какой совет вы бы сами могли дать идущим по вашим стопам?

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

26 комментариев 👇

но некоторое время назад моя жена подошла ко мне и сказала: "Ты знаешь, что в Албании вовсю бушуют протесты, но в большинстве СМИ об этом — ни слова?"

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

  Развернуть 1 комментарий

@mixbez, в лучшую сторону: теперь я знаю, когда что-то существенное происходит в том или ином регионе, и это даёт мне замечательное ощущение осведомлённости

  Развернуть 1 комментарий

@xenohunter, а зачем тебе это?
мне искренне интересно.

  Развернуть 1 комментарий

@mixbez, мне нравится быть в курсе того, где что происходит. Не в мелочах, а именно когда это что-то принимает форму каких-то крупных общественных или политических течений. Я группирую страны в блоки по интересам, предполагаю, кто кого пасёт и по каким мотивам, ну и так далее. Что-то вроде задротства по лору вымышленных вселенных, только с настоящей вселенной.

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

  Развернуть 1 комментарий
Nickolay Kopylov Head of Engineering | Principle Software Engineer 30 августа в 07:40

А еще, из моей коллекции «потенциальных конкурентов» чтобы вдохновляться:

И, кажется, еще несколько десятков за последние пару лет. Видимо, «гиперперсональное X” в эпоху AI очень интересное 😃

На практике многие из них стали только локально известны, а решают похожую задачу.

Я не к тому, чтобы сказать тебе что ты делаешь что-то давно сделанное а чтобы было чем вдохновляться 😃

  Развернуть 1 комментарий

@nkopylov, спасибо! Ground News знаю, нравится идея, остальные посмотрю тоже. Так-то практически всё кем-то уже давно сделано, но каждый делает по-своему, и кому-то ещё из "по-своему" всегда может особенно приглянуться. Так что вдохновляюсь!

  Развернуть 1 комментарий
  Развернуть 1 комментарий

@AntonR, ага, спасибо, на них натыкался

  Развернуть 1 комментарий

Отличная идея!
Я бы ещё сделал какой-то объективизатор, чтобы он смотрел на выбранные новостные источники и уменьшал политический и другой субъективный баес, имея разные концы спектра как реперные точки. Убирал мишуру и явные политические телеги. Чёт такое.

  Развернуть 1 комментарий

@obi-ivan_kenobi, спасибо!

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

  Развернуть 1 комментарий
Миша Николаев Финансовый директор 29 августа в 14:11

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

  Развернуть 1 комментарий

@mnikolaev_acca, спасибо! Да, отличная идея про агентства, я постепенно на них переползу. В плане экономии токенов, у меня там есть ещё эвристики, которые сразу отбрасывают посты по ключевым словам или по соответствию какому-нибудь паттерну (например, если есть продающие ссылки или ссылки на другие каналы).

  Развернуть 1 комментарий

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

  Развернуть 1 комментарий

@rooty, для меня это точно не проблема. Важные события не перестают быть актуальными и через два-три дня, и то, что я узнаю о них чуть позже, картины в целом не меняет. Тут я как раз обратную проблему вижу: если все новости прилетают сразу в бота, то это постоянное подкидывание топлива для тревожности.

  Развернуть 1 комментарий
Nickolay Kopylov Head of Engineering | Principle Software Engineer 30 августа в 07:34

Классная идея и круто, что ты дошел от решения персональной задачи до продуктизации!

Как ты решаешь проблему разного новояза в разных источниках/странах?

Когда одно и то же событие глазами условного bbc и условной помойки типа РИА выглядит очень по-разному и без дотренировки эмбеддингов (хлопок = взрыв, киевские террористы = всу) векторное расстояние вообще не помогает.

Я делал очень похожую историю для себя, где из 100 источников в т.ч. пропагандонов пытался получить более-менее объективную картину - чистил пропагандистский язык, делал графы аффилированных сми через одинаковую повестку, делал репутацию сми и все такое.

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

  Развернуть 1 комментарий

@nkopylov, спасибо большое!

Я пошёл здесь простым путём, и собираю данные только из источников, где нет прям совсем сильной эмоциональной окраски. Так как я нацелился именно на фактические события типа "подписали соглашение", "произошла атака", "кто-то что-то публично заявил", то роль собирательного мнения не очень большая.

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

  Развернуть 1 комментарий

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

я вспоминаю времена RSS, когда ты добавлял себе в ленту то что интересно и смотрел... как будто времена возвращаются

  Развернуть 1 комментарий

@Avonae, rss все еще с нами, и это очень удобно!

  Развернуть 1 комментарий

@Avonae, а вот, кстати, если не для новостей большого мира, то для чего бы ты хотел похожую по механике платформу?

  Развернуть 1 комментарий

@xenohunter, я не читаю новости потому что большая часть:

  1. меня не касается
  2. вызывает негативные эмоции

я оцениваю пользу (новости которые на меня влияют напрямую) и вред в районе 10/90
поэтому если платформа может повысить этот процент хотя бы до 60-40...

впрочем я уже не помню каково это -- интересоваться новостями, возможно это насовсем отмерло

  Развернуть 1 комментарий

@Avonae, я имел в виду: если такого рода дайджест делать, но вообще не для новостей, то для чего?

  Развернуть 1 комментарий

@xenohunter, ну как... мемы недели, дни рождения твоих знакомых на этой недели, новости %тема% недели, дела недели .. типа выбираешь интересы и читаешь по ним подборку

  Развернуть 1 комментарий

Прикольно, тоже об этом думаю и хотел попробовать накодить.
А локальные модели совсем не годятся ни для чего (кроме дупликации), не пробовал?

  Развернуть 1 комментарий

@funduck, не, локальные не пробовал, очень лень разбираться в том, как их разворачивать

  Развернуть 1 комментарий
  Развернуть 1 комментарий

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

  Развернуть 1 комментарий

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб