So, basically I am doing the following recursive process:
1. crawl the nostr network 24/7/365.
2. if an event is from a pubkey not in the db, skip
3. if instead it's from a known pubkey, save it
4. if it is a follow-list, and it includes new pubkeys, add them to the database.
So, inclusion in the database requires only one follows. There are 385k users already indexed, which covers the overwhelming majority of Nostr, minus spam.
Then, on the follow graph I run pagerank, to get reputational scores.
When you search on npub.world, the result is a combination of:
- text similarity (e.g. "jacky" is closer to "jack" than "mario")
- pagerank
Here is exactly how it does it.