kontext-app / social-bookmarking-app

https://app.kontext.app
2 stars 0 forks source link

Indexer and simple recommender system #14

Open seichris opened 3 years ago

seichris commented 3 years ago

There are two problems:

  1. How can one user see another user's bookmarks?
  2. How can one user get recommendations on new bookmarks, based on bookmarks from another user?

There are two possible solutions:

  1. Build a central service that reads all bookmarks. And runs a simple recommender algo on the data, eg. based on calculating similarities between users.
  2. Users give access to their bookmarks p2p. So only them and their friends can see the bookmarks.

We want to test both approaches.

Advantages now Disadvantages now Advantages later Disadvantages later
1. Scalable. We can give recommendations to everyone. Like a web2 app. Centralized hurts privacy but in the future we might be able to run algorithms on the data, without revealing the data (zk proofs). And we can build a data marketplace. -
2. Privacy Not scalable Privacy. P2p business -
seichris commented 3 years ago

@dakingha69 do you have more thoghts? Does it make sense?

dohaki commented 3 years ago

@dakingha69 do you have more thoghts? Does it make sense?

No makes sense what you wrote 👍 . Maybe a bit more context would be, that we are using IDX for data discovery. So the bookmarks of a user are tied to a DID. With approach 1, we would then need to collect all user DIDs (with their consent) through our app/extension and generate the pool of bookmarks on which we can run our simple recommendation algo. Approach 2 would require a client-side solution that discovers bookmarks through connected/known DIDs of the respective user.

seichris commented 3 years ago

Which one is easier to build, for the MVP? @dakingha69

centralized service

Use case: A general pinboard-like popular feed, sorted by number of total shares.

the p2p one

Use case: tl;drs anywhere #5 // week-in-ethereum with comments #8