# Deepfunding UI The DeepFunding UI enables anyone to create a funding round for a project and its dependencies. *(this could later be scaled to allow anyone to upload a graph + weights to fund nodes - research papers, music, oss, etc).* The platform is composed of a set of building blocks: - **Dependency Graph** - Includes GitHub projects and their dependencies. Selecting one node will list all projects it's dependent upon. [Link to GitHub Dataset](https://github.com/deepfunding/dependency-graph) - **Weights** - these weights come from either human jurors or AI models. They determine the importance of each dependency for a project. Platforms like Pond or Kaggle are used as leaderboards to measure the efficiancy of the model compared to human jurors. [Link to Pond competition](https://cryptopond.xyz/modelfactory/detail/2564617) - **Distribution** - tokens are sent to the projects in accordance to the weights. Ideal would be to send to a GitHub repo without knowing any wallet address. Drips might have a solution to this [Drips Claim GitHub repo docs](https://docs.drips.network/get-support/claim-your-repository/). If not, a solution for this should be built on Allo. ### Example User Flow 1. **Select Project** - a user searches for an selects a project to fund and is navigated to a page that lists all of the project dependencies 2. **Funding Amount** - enter an amount of funding (and token) 3. **Choose Model** - choose a model of weights that determines how much each dependency should receive compared to the others 4. **Distribution** - transfer tokens to each project calculated as: `amount = total funding amount × weight` ![image](https://hackmd.io/_uploads/SyoREKwFJe.png) ## Technical Architecture ### Select Project A search input field can be used to search for projects. A dropdown shows related suggested results to make it easier to discover projects. **Component:** https://ui.shadcn.com/docs/components/command ![image](https://hackmd.io/_uploads/ByM9NaZ5ye.png) Once a project is selected, the user is navigated to the Project Details page ### Project Details `https://deepfunding.app/:github-repo` This page can easily be linked to navigate users directly to a page where they can support the project and its dependencies. A token, network, and weight model can also be pre-selected via the URL: https://deepfunding.app/ethereum/remix-project?network=10&token=USDC&weight-model=vitalik #### List Dependencies The selected project's dependencies are listed in a table. This will be sorted by the weight for each project. **Component:** https://ui.shadcn.com/docs/components/data-table https://tanstack.com/virtual/v3 ![image](https://hackmd.io/_uploads/BkScNCbqJl.png) *Screenshot from ui.shadcn.com* > ⚠️ **Dependency Levels** > The dependency list goes 2-3 levels deep and some projects will contain thousands of items. How do we make this comprehensible? #### Enter Funding amount Users can choose how much funding they want to distribute to the project and it's dependencies. **Component:** https://ui.shadcn.com/docs/components/input https://ui.shadcn.com/docs/components/combobox <div style="display:flex;"> <img src="https://hackmd.io/_uploads/ByKflCZ5kl.png" /> <img src="https://hackmd.io/_uploads/SkWxlA-qke.png" /> </div> --- #### Choose Weight model The weight model determine the distribution of funds. They are generated by AI models and spot-checked by human jurors.