Description

Problem: Classical Web2 platforms and social networks are in silos and typically need to bootstrap their user base and consequently their proprietary social graphs independently. As a result recommendation systems in this context are often impersonal and standardized. For example, TripAdvisor has the same recommendations for everyone, regardless of age, occupation, or background. Solution: Recobee is a Recommendation-as-a-Service (RaaS) layer between the Lens Protocol and the application layer. It takes the social graph as input and provides relevant ‘object’ recommendations based on the social graph. *Use Cases*: Notably, the recommendation engine is application-agnostic and can power arbitrary use cases from Web2 as well as Web3 such as - Smart Tourist: Travel recommendations straight from your social-graph - Tinder 3.0: Romance without irrelevant filters and nothing in common - Talent Finder: Talent acquisition from social-graph of specific profile networks - Down the Rabbit hole: Course & learning recommendations from your recent activity - SPOT-ify: Music and concert discovery from your friends - Books & Movies: Book and movie recommendations that keep you entertained - Find-a-DAO: Match governance and developer skills with to your passions - NFT-reco: No-shill recommendations on what your friends actually buy - Metadvisor: Travel recommendations, but in a world where physics are defied Within the scope of the hackathon, the use case Metaverse Advisor (metadvisor) is implemented as a recommender system for places and activities in the Metaverse. Please find the complete pitch deck here: https://github.com/Project-Recommend-ETHAmsterdam/recobee/blob/main/ETHAmsterdam_Recobee%20vFull.pdf

Recobee showcase

How it's made

Lens-Protocol Layer Module Extension: Two custom smart contract modules were written to extend the lens protocol and enable the recommender system data logic of recobee: The CuratorFeeFollowModule and RatingCollectModule. The RatingCollectModule is used to "rate" recommendation objects by users on a scale of 1-5. Objects are "Posts" with enriched meta data and users are "Profiles". The CuratorFeeFollowModule is used to implement the staking mechanism for curators if they want to add new places. Recommendation Engine: The recommendation engine was implemented as a react.js module. The implemented algorithm (1) receives the social graph as an input, (2) weights profiles that are closer in your social graph stronger and finally (3) computes a recommendation score based on the collect interaction of your social graph with the recommendation object. In the scope of the demo we deployed our own social graph with 8 profiles and 4 recommendation objects. The metadata of profiles/posts is hosted on IPFS. Metadvisor Front-End Webapp: The implemented front-end app is based on a lenster.xyz fork and implemented using react.js/next.js and typescript. The front-end interacts with the recommendation engine via function calls and with the lens protocol using a custom deployed lens hub.