STORY
Pitch: Nossence
AUTHOR
Joined 2023.02.25
PROJECT
DATE
VOTES
sats
COMMENTS

Pitch: Nossence

Introduction

nossence = no(s) + (e)ssence

Nossence is a recommender engine that promotes valuable content to their best audiences. Whether a seasoned user of nostr or a new user just getting started, nossence can help them discover and explore interesting and relevant content.

 For Japanese user, nossence recommends posts written in Japanese

Design Concept

The core of nossence is the recommender engine, which is consist of a hybrid storage (graph database and plain text) and a series of recommendation algorithms.

The recommender engine provides 3 core capabilities (in design, not fully implemented yet):

  1. crawl relay servers and store their events in a data structure optimized for query.

  2. a filtering expression that users can specify the pattern of events they need.

  3. query result can be fetched in both batch or streaming way.

Currently we choose 'bot' as the interface, but there could be more interfaces. It is designed to be an infrastructure that can be easily integrated into many clients.

Features

General recommendation: For users who don't want personalized recommendation, or a new user who has no data on nostr, nossence will recommend 'Top Trending' or 'Most Viewed' posts.

Personalized Recommendation: For users who have some 'activities' on nostr, nossence will recommend posts based on their preference and users similar to them.

You can try it out here! Please follow the instruction in account description.

Under the Hood

Nossence uses a graph database to store events from Relay and employs statistical algorithms to score the popularity of posts. Personalized recommendations is based on collaborative filtering that takes advantage of user's activities such as like, reply, follow, etc.

For more details, please refer to the GitHub!

What's Next

  1. Introduce more data science stuffs to improve recommendation precision and recall.

  2. Provide a DSL that user can specify what they are interested.

  3. Provide more interfaces (API and Relay)