Currently, our profiles (in staging) are generated directly from the Ceramic node, but the leaderboard requires us to cache everything in Hasura (a GraphQL frontend to Postgresql) since, until very recently, there was no ability to sort in ComposeDB.
What I would like to do is create a process that maintains a stream with users’ XP values and have that stream associated with the users’ profiles in such a way that I can pull the sorted leaderboard list (paginated) from our ComposeDB instance.
The XP stream would be owned by a DID:key running automated process while the profile information would be controlled by a traditional DID:PKH from the user.
@golda, you thought you might have a lead on an answer to this.
An additional wrinkle is the goal for the system is to deliver a leaderboard for any organization that has token-rewarded contributions, so there will be multiple computer-written streams for different orgs, possibly more than one for a given user.