A vision for content discovery and relay usage for basic social-networking in Nostr

Or how to make a basic “social-networking” application using the Nostr protocol.

Suppose a basic “social-networking” app is like Twitter. One has basically 3 views:

  • A home feed that shows all notes from everybody you follow;
  • A profile view from a specific user that shows all notes from that user;
  • A replies view that shows all replies to one specific note.

Some Nostr clients may want to also provide another view, the global feed which shows posts from everybody.

And suppose there are 3 groups of relays (according to one’s subjective evaluation):

  • Spammy relays, in which people of any kind can post whatever they want with no filters at all;
  • Safe relays, in which there are some barriers to entry, like requiring a fee, or requiring some cumbersome user registration process, and spammers or people who post bad things are banned;
  • Closed relays, in which only certain kinds of people enter, for example, members of a group of friends or a closed online community.

From the views above, the home feed and the profile view are basically safe.

Given that,