Draft:Awakari

Awakari is a continuous search service following the publish/subscribe model. It utilizes the reverse search index approach to resolve all interested users by an incoming event at once. Streams search results to a user in real-time, i.e. as they happen. To notify a user about the search results it uses a Telegram bot. Currently available under the freemium pricing model.

Concepts
The service works with events and subscriptions, consuming events from many input sources.

Subscriptions
Subscription is a named set of one or more matching conditions defined by a user.

Matching Conditions
Awakari supports the following condition types:
 * text keywords matching
 * numeric comparison (<, ≤, =, ≥, >)
 * groups of nested condtions with logic (And, Or, Xor)

Matching may be defined to happen against an event payload or an arbitrary event metadata attribute (like "title: Tesla").

Input Sources
The service is extensible to support various types of event sources. Currently supported: ActivityPub, Web feeds, public Telegram channels, sites.

ActivityPub
Open-source extension to consume Fediverse activities as events. Confirmed to be working with Mastodon, Friendica, Hubzilla. . As of Awakari has 35 different Fediverse sources registered by users.

Web feeds
The extension initially designed to consume RSS feeds. Additionally, supports:
 * Atom
 * JSON Feeds
 * WebSub protocol
 * Microformat
 * Microdata
 * JSON-LD entries
 * HTML5 article feeds

As of Awakari has 132 different feed sources registered by users.

Telegram
The Bot may be invited to a public channel to consume it posts. As of Awakari has 75 different channels registered by users.

Sites
Awakari checks for a site updates once a day using an external search index. As of Awakari has 46 different sites registered by users.