{"id":14291,"url":"\/distributions\/14291\/click?bit=1&hash=257d5375fbb462be671b713a7a4184bd5d4f9c6ce46e0d204104db0e88eadadd","title":"\u0420\u0435\u043a\u043b\u0430\u043c\u0430 \u043d\u0430 Ozon \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u0442\u0430\u043c \u043d\u0435 \u043f\u0440\u043e\u0434\u0430\u0451\u0442","buttonText":"","imageUuid":""}

Awakari - сервис подписки на релевантные сообщения

Идея

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

  • подходящие вакансии
  • новости на определённую тему
  • товары, автомобили, недвижимость
  • упоминания определенных брендов или имен в СМИ.

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

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

Решения вроде RSS-лент не позволяют находить что-либо за пределами своего локального пузыря источников, а также имеют и другие недостатки:

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

Представляет из себя на данный момент бесплатный публичный сервис, который принципиально не хранит никаких данных о пользователях (есть минимально необходимая аутентификация, но нет никакой регистрации) . В качестве интерфейса пользователя используются:

  1. Web-интерфейс для управления источниками и подписками.
  2. Телеграм-бот в качестве средства доставки результатов.

Web-интерфейс также является PWA, поэтому можно для удобства установить его на мобильный телефон:

Сервис состоит по сути из двух основных функций — Publish и Subscribe. Поэтому интерфейс содержит эти две вкладки:

На момент написания статьи в (растущей) коллекции используемых источников есть:

  • 103 лент обновлений (RSS, Atom и тп)
  • 74 публичных телеграм-каналов
  • 37 сайтов, изменения на которых проверяются раз в день.

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

Каждая из этих записей становится новым сообщением в Awakari

Если нет нужного источника в этой коллекции, можно добавить собственный:

Соответственно, на вкладке «Sub» — всё для управления подписками текущего пользователя:

Новую подписку можно создать нажатием кнопки «+ Subscribe». Экран создания новой подписки имеет два режима: простой и продвинутый. В простом режиме можно просто перечислять ключевые слова через пробел. В этом режиме можно также создать «цепочку фильтров» (до 4-х), каждое из которых будет обязательным условием (если указано и не пустое):

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

После создания подписки можно перейти к телеграм-боту чтобы начать получать сообщения по этой подписке:

Планы на будущее

  1. Распознование речи и изображений. Пользователь публикует сообщение в форме аудио, видео и т. п. Используя, например, Speech API можно конвертировать речь в текст и сделать её доступной для выбора по ключевым словам в условиях подписок.
  2. Мониторинг курсов (крипто) валют и уведомления на основе произвольных условий вроде «доллар больше 100» также можеть быть интересным определенным категориям пользователей. Поддержка численных условий для этого уже реализована.
  3. Расширение типов источников, например, интеграция с ActivityPub.

В случае возникновения любых вопросов вы можете задать вопрос в community‑группе в телеграме.

0
Комментарии
-3 комментариев
Раскрывать всегда