{"title": "The Times Of GitCoin", "website": "https://github.com/vaibhavgeek", "createdAt": 1710094387306, "userGithub": "vaibhavgeek", "credentials": {"github": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..jDFC9jyG3jBprKYZ_vdTzoPDtUUhEpsdkwcMtvfAlnqFpo0UunftHie21_gQLGLtLzKuxLbIS-rmEWnrJ4FwBA", "type": "Ed25519Signature2018", "created": "2024-03-10T18:03:11.472Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2024-03-10T18:03:11.471Z", "expirationDate": "2024-06-08T18:03:11.471Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x86B06319b906e61631f7edbe5A3fe2Edb95A3faE", "hash": "v0.0.0:Z7k4uiUSSWsWK2pZh0ErPROGslK89zVzAiGjIsBoy10=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextGithubOrg#Kleo-Network#1227925"}}, "twitter": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..bG_FnpE2v8PAGDFk7SaUvQ0RutMmFDdKhmzXM-3X9jTAh7XhNJTm_5y-slF9_01n7pL3K_gT6fWxn97D1SrgBw", "type": "Ed25519Signature2018", "created": "2024-03-10T18:02:56.941Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2024-03-10T18:02:56.941Z", "expirationDate": "2024-06-08T18:02:56.941Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x86B06319b906e61631f7edbe5A3fe2Edb95A3faE", "hash": "v0.0.0:8XHhoZXZ/7F8Lg9iLFJW5YSGisTl1ldCt6lHwTsKvLY=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextTwitter#kleo_network"}}}, "description": "## What are we going to build?\n\nWe want to create a way for projects to discover new users based on different topics of interest to the user. This will allow projects to build better communities and for users to donate to projects that are important to them. \n\n- We want to build a dashboard that looks like this,\n\n![Final Version.svg](https://i.imgur.com/WcwFksV.jpeg)\n\nThe rest of the flow will be the same as that of gitcoin’s, if successful individually we can move it as the replacement of the current platform. The important features of the dashboard, \n\n1. Personalized Recommendations. \n\nWe will fetch the past contributions of the user, and the projects that will have keywords and entities extracted from them will then be used as search parameters to display the nearest neighbors based on context.  \n\nb. Tags such as - Social, Gaming, Protocol, and Decentralised Finance, each of them will be associated with a different list of keywords, these keywords will be used to find similarity between the vectorized embeddings of the projects. \n\nc. Least Donated, Super New initiatives - This will be a binary classification. For least donated it is similar to something that already exists now, for the super new initiatives, we will be using a custom classifier. The aim is to bring discoverability to new projects.  \n\nd. The Bubble Graph has three main features, \n\n1. Size\n2. Alignment\n3. Color\n\nEach bubble on the graph represents a single project. We are most likely to click on the biggest bubble. Thus, the size of the bubble will be randomly decided and will change on each refresh. The alignment of the bubble will be based on where the embedding contextualization lies (based on vector embeddings), the idea is to group similar projects. The color of the bubble denotes the categorization done on top. When a new search is made, the search will be highlighted by giving it a color while greying the rest of the bubbles. \n\ne. The tooltip, \n\nOn hovering the each project essential details about a product will be listed, this will give him a quick overview of the project. \n\nf. OnClick, \n\nOn click of the bubble the data will load on the right side, this will be the entire grant information (same as onclick right now). The url will also change, so that people can share the page for others to vote.\n\n## 2. How are we going to build it?\n\nHow do we use Vectorization and LLMs? \n\nBuilding vector data: The first step would be to vectorize the grant information, this would querying and contextualisation of vector data. This will be done using Milvus and hosted on AWS EKS (Elastic Kubernetes). We can also use neuML for the NLP Tasks. \n\nhttps://towardsdatascience.com/up-and-running-with-milvus-2466161e8b1f\n\nhttps://github.com/neuml/txtai/blob/master/examples/57_Build_knowledge_graphs_with_LLM_driven_entity_extraction.ipynb\n\nThe search will be contextual. This will also be used for tags described in detail in 1. The similarity index (distance) between the summarised grant descriptions. \n\nFor extracting the other relevant details, we will be using a prompt along with the grant project information to generate a json. We will be using Mistral Instruct 8x7B v0.1 for the same. The [anyscale.io](http://anyscale.io) api endpoints cost (https://docs.endpoints.anyscale.com/pricing) \nIt will create summary (description), ask few very specific questions and extract keywords and entities. \n\nThe Tech Stack consists of three phases, \n\n1. Creation of JSON, creation of vector embeddings and storing them in a vector database and NOSQL database. This will be triggered by RabbitMQ FIFO Queue and would be linear. There would be a simple cron job which will trigger this when there is new data detected onchain (using graph apis). The RabbitMQ then would execute linearly creating embeddings and the JSON in required format. (Kafka, AWS SQS, Azure Service Hub can also be explored, I have got experience with RabbitMQ.) We will be summarising and creating JSON for projects from GitCoin Grants 15 for personalisation features. \n2. Querying the embeddings, querying the APIs. This will be a REST endpoint which will be a docker container and be written in Python FastAPI. It will allow users to query the database and return the required results.  There will be a total of 6 APIs that will be created, \n\n- Search API \n- Personalized Recommendation API \n- Social, Gaming, DEFI, Protocol API \n- Super New Initiatives API \n- Least Donated API \n- Project Detail API \n\nThe rest of the flow will redirect to gitcoin. \n\n3. Frontend - The frontend will be entirely built in Typescript and React. We will use modern and sleek libraries. The frontend will have gitcoin colours and fonts. A small gamification feature would be to have a small celebration animation each time an item is added to cart!\n\n## 3. How much will it cost?\n\nIt would cost approximately ~100-300$/month in server costs and API will vary based on tokens. The total would be  200-400$/month approximately. It can be drastically reduced by using different models and running the API in more lean environment. \n\n## 4. When will you deliver?\n\n### Milestones\n\n- Experimentation and Design Finalisation\n  - Expected Date of Completion: 15th March 2023\n  - Pricing: $1000\n\n- Creation of API Backend along with RabbitMQ pipelines\n  - Expected Date of Completion: 15th April 2023\n  - Pricing: $2000\n\n- Creation of Frontend for exploring\n  - Expected Date of Completion: 15th April 2023\n  - Pricing: $2000\n\n- Successful Completion of Hosting Live gitcoin round on our platform (Includes server costs for a few months)\n  - Expected Date of Completion: Aim for GG20, definitely by GG21\n  - Pricing: $5000\n\n\n## 5. Who are you guys?\n\nWe are the team behind Kleo Network, we have built something similar for browsing history and thus will be able to execute this very quickly. \n\nVaibhav Maheshwari (Full Time)\n\nhttps://www.linkedin.com/in/vaibhavgeek/\n\nBhishma Goel (Full Time)\n\nhttps://www.linkedin.com/in/bhishma-gohel-754297155/\n\nAishwarya Jain (Part Time)\n\nhttps://www.linkedin.com/in/aishtronaut/", "projectGithub": "Kleo-Network", "projectTwitter": "kleo_network"}