## Global Profile Rankings Using Karma3 + socialDB (posted via [Build DAO Gateway](https://nearbuilders.org/feed?tab=idea)) ### What? - Build a BOS frontend for [Karma3’s implementation of the “EigenTrust” algorithm](https://docs.karma3labs.com/eigentrust/core-concepts) - https://nlp.stanford.edu/pubs/eigentrust.pdf ### Why? - Global profile rankings - Personalized recommendation systems ### How? **Features** - Custom gateway combining Near Social and Sign In With Neynar (SIWN) - Optionally use Near Badger if no need to r/w data between Farcaster & BOS components - Get Farcaster data from ts-eigencast API - Get socialDB data - BOS components that let you calculate and apply personalized rankings - Pass algorithm parameters to ts-eigencast API - View rankings on profiles and personalized feeds - Optional: attest to your social graph - Mutual connections, types of connections, etc. - Leverage Hyperfiles type library - Expand EigenTrust algorithm with additional metrics - Number of widgets, data (Mb) stored on-chain, account age, follow duration, etc. **Gateway Dependencies** - [ts-eigencast API](https://github.com/Karma3Labs/ts-eigencaster) - used to fetch Farcaster data and compute rankings - [rs-eigentrust](https://github.com/Karma3Labs/rs-eigentrust) - Rust implementation of EigenTrust - [Neynar](https://docs.neynar.com/) (optional - or use [Near Badger](https://near.social/mattb.near/widget/NearBadger.Pages.Authentication)) - [fast-near](https://github.com/vgrichina/fast-near) (optional) - [Frames.js](https://framesjs.org/) (optional) **Component Descriptions** - openrank.view - explore various ranking graphs, evaluate & attest to objects on them - openrank.calculate - compute and save personalized rankings - set seed nodes - choose algorithm - set weights & options - click apply to view results - save to socialDB & set as active ranking system to use across the gateway - Follow design pattern for builder badges - render global profile ranking score in profile previews etc - apply rankings to content in feeds - openrank.profile - display personalized rankings on other account profiles similar to badges - Develop a color coding system to make it easy to identify high vs low scores  - openrank.feed - view a feed of posts filtered by personalized rankings - [Feeds](https://www.notion.so/Feeds-d3ba77d9c4864906b6d9a5cb812efcb7?pvs=21) ### Who? - To be built by @Elijah (flowscience) **Other Stakeholders** - Hyperfiles - OpenCann - Near Social - Karma3 - Farcaster ### When? - TBD ### Where? - Implement on the OpenCann.net, NearBuilders.org, and a custom gateway for beta testing. - Deploy to Near Social gateway and Farcaster (potentially via a custom client) after testing. ### Caveats - indexing and/or retrieving large amounts of data from socialDB may be slow ## Assets ### **Relevant BOS Components** [BOS Components](https://www.notion.so/BOS-Components-7a4c927fba0747a4ba41954ae193cc06?pvs=21) ## Alternatives - TBD --- Please comment on-chain or in the [OpenCann Wiki](https://opencann.notion.site/Global-Profile-Rankings-Using-Karma3-socialDB-77a9ddcd7c6b4422a971e494fbd3e4c4?pvs=4) to provide feedback and contribute to this project idea. #build #idea