# User-centric DAO Browser **Project Name:** MyDAODashboard **Project Description:** User-centric DAO Browser **Code Repo:** https://github.com/my-dao-dashboard ## Abstract Currently there are more than 1000 DAOs deployed, spread over different platforms (e.g. Aragon, Moloch, Daostack Alchemy, as well as MakerDAO, Cosmos, Tezos governance). These DAOs are not necessary populated by unique people: it is anticipated for a person to participate in multiple DAOs. With different DAOs spread over different platforms, this situation easily becomes more than an active participant could comfortably handle with tools available now. **The goal of this project is to provide a user with a single tool to manage all his or her DAO-activity.** In first instance this project will focus on Aragon-type DAOs, later to be expanded by any type of DAO, all wrapped in one enjoyable and effective user-experience. ## Problem Statement The fundamental goal of a DAO mechanism is a coordination of participants’ resources toward a shared goal. Coordination is currently handled over different tools: voting is done via single DAO interface, communication handled over forums, Telegram or Discord. If considered from a user perspective, this poses a challenge once number of DAOs per user increases. DAOs suffer from the same problem as other voting mechanisms do: low participation rate (see [study](https://newsroom.niu.edu/2018/09/25/new-study-scrutinizes-time-and-effort-it-takes-to-vote-in-each-state/) by Scot Schraufnagel from 2018). Course of action in our DAO-realm is removing friction: making voting effortless, making communication streamlined, efficient and tailored to the users need, engaging the user with DAO-activity by visualizing it. Every single vote counts in working towards meaningful goals. The problem of miscoordination exacerbates by the fact a person participates in multiple DAOs. For Moloch-relatives, while an average person participates in at least 1.2 DAOs, power-users (those that participate in 1+) participate in at least 2.9 DAOs according to current blockchain data [Own Stats](https://gist.github.com/ukstv/913dbb90f0a936cdd653ba3f6487acd1). Few people are known to participate in 9+ DAOs today, likely due to the lack of a light-weight, ease-of-use tool that visualizes DAO-activity and enables the management of own DAO-participation. At this moment, organisations have to provide their own light-weight clients on top of their DAO-infrastructure, which is an extra burden to carry, an extra effort that could possible blur the focus of DAO-centered organisation. We all know how time-consuming maintaining a front-end client can be. Also, due to constrained resources, one could not abstract it over other organisations and DAO-structures and expand it to the whole DAOverse. For our targeted users, the problem lays out into three points: - 1: internal communication in DAO - 2: ease of voting - 3: being up-to-date of activity of DAO While experiencing it as observers, we dived into it while on [ETHBerlinZwei](https://devpost.com/software/my-dao-dashboard) (at which we won The Graph prize) and afterwards kept the effort going as an opensource project with biweekly community-calls. This also attracted active participation (e.g. the branding-efforts done by Ben Adriaenssen). This resulted in a promising starting point, a functioning front-end app [https://mydaodashboard.com](https://mydaodashboard.com). This is a starting point none the less, since it is slow and with limited functionality and user-interfacing. In this further expansion of our effort, with lessons learned and insights gained, we are going to address the problem through a set of well-considered components, resulting in a light user-centric tool serving as a DAO-client that abstracts over the complexities of blockchain and the current decentralized infrastructure. We're choosing to build a Web App with web3-functionalities, since it must work on all mobile web3 browsers and not be limited by any distribution-platform. Eventually, the project will be aiming for self-sustainablity. During various talks, we confirmed even willingness to pay for services offered by certain components (e.g. Daoscan API) of this solution by involved parties. ## Market The end user we have in mind is a heavy DAO user, that participates in 2+ DAO. Initially we are going to attract them through DAO managers, which we have identified. This user would be released of the hassle of juggling a number of communication-channels (Telegram/Discord/...) in combination with the Aragaon client (or any other specific DAO-platform) to manage his day-to-day DAO-affaires. ## Deliverables The scope of proposal is to build a minimum viable DAO Browser, that allows the user to browse and manage all his/her DAO-activity. The realisation of this Browser will built upon the delivery of following components: - 1. Daoscan (indexer) - 2. My Dao Dashboard (user interface) In the scope of this potentially grant-funded project, we focus on Aragon DAO in first instance, to add other types of DAOs later. Contents of this section is fully elaborated in the Roadmap section below. ### 1. Daoscan (indexer) The Indexer solves a problem of mapping user→dao. It is prohibitively expensive to find what DAOs a user participate in, using either The Graph or web3 API, so that it is truly decentralised. The indexer provides a single GraphQL API to query DAOs that belong to user, as well as DAO-specific information. The guiding technical metric is any request should take less than 200ms. This allows it to be used as a foundation for decent UX. Overarching goal is to make it run on any serverless platform. Initial platform is AWS, yet the code is baked in a way to permit adapting to other platforms. Also, this would allow us to eventually index Aragon chain, or other blockchains for governance-related information. Daoscan will provide: - GraphQL API for querying DAO-related information - used by MyDAODashboard or another application, - Webhook Subscriptions - necessary substrate for rich interactions over different communication channels, such as Telegram or Discord. Here is an example of getting DAOs by a person's address: https://gist.github.com/ukstv/30582aa38df9f754365358424e95f94b Available on https://daoscan.net ### 2. My Dao Dashboard (user interface) MyDAODashboard provides a light-weight interface, a single point of interaction between a user and all the DAOs he wants to interact with. A user is able to view all key-metrics for each DAO, as well as vote on active proposals (if he has permission to do so according to DAO-structure). The app also has the possibility for a user to follow DAOs of which he is not an active member. Multiple keys can be attached to the app, to give users owning multiple keys a full overview of all DAO-activity. Overarching goal is to have a user-centered, smooth and easy browsing experience. ## Team The team consists of Sergey Ukustov, Wesley van Heije, Ben Adriaenssen, and Chris Hobcroft. Together they created the first version of MyDAODashboard during ETHBerlinZwei hackathon. Sergey is focused on product management, as well as backend engineering of this effort. Ben is responsible for branding, UI-design and frontend engineering, for this thing being nice and useable for real. Chris’ field is user testing, and community engagement. The team has baked during ETHBerlin hackathon, and is continuing to progress. Sergey Ukustov: - sergey@ukstv.me - https://github.com/ukstv - Aragon Forum: @ukstv Ben Adriaenssen: - ben@bennisan.be - https://github.com/bennisan86 - Aragon Forum: @bennisan86 Wesley van Heije: - wesley@vanheije.nl - https://github.com/wslyvh/motile - Aragon Forum: N/A ## Progress As previously mentioned, a few starting points to this solution are already operative. - Daoscan (indexer): - Currently in a working state, MVP, performs basic functionalities - No API documentation or integration with front-end at this moment - https://daoscan.net/graphql - https://github.com/my-dao-dashboard/daoscan - MyDaoDashboard: - Currently in a working state, MVP, performs basic functionalities (result of [ETHBerlinZwei](https://devpost.com/software/my-dao-dashboard)) - Not integrated with Indexer, relies on combination of The Graph (including Daostack-hosted subgraph), Etherscan API for data sourcing, - Branding is at 80%: [logo and basic branding guidelines](https://github.com/my-dao-dashboard/My-DAO-Dashboard/tree/master/branding) are in place, as well most of the visual elements (e.g. inputs, buttons, spinners...) - A version of the UI approached by Ben Adriaenssen (= designer responsible for branding work) is ready to be applied to the current version ![](https://i.imgur.com/aLQnqws.png) _Current version of MyDaoDashboard_ ![](https://i.imgur.com/foRsggl.png) _Branded version of MyDaoDashboard UI_ It is interesting to know that despite MyDAODashboard being clunky, it is used by the people, according to CloudFlare stats: ![](https://i.imgur.com/2HBLxDR.png) ![](https://i.imgur.com/JdK8uEV.png) ![](https://i.imgur.com/57MuJSg.png) ## Legal The project is managed via MyDAODashboard DAO on Aragon platform: https://mainnet.aragon.org/#/mydaodashboard/organization/ Daoscan API works under own DAO: https://mainnet.aragon.org/#/daoscan/organization/ MyDAODashboard redistributes some funds towards Daoscan for API-related developments. There are no competition agreements between members present. ## Aragon Aragon currently provides the most used platform for creating and managing DAOs. Most of the DAO-activity in the world at this moment is done in Aragon-type DAOs. Therefore, it makes sense to first focus on integrating Aragon-DAOs in our app and working actively in the Aragon realm. ## Roadmap ### Step 1 - Bookmarking **Estimated duration:** 3 weeks **Goal:** Provide a list for all person's daos. This serves a problem of person switching between different daos. **Value:** Provide a user with bookmarks for her DAOs, so that she does not have to remember where she participates. Provide with effective way to query information regarding DAOs, however they were instantiated. **Outcome:** - MyDAODashboard that displays all the daos for person - Person is identified by MetaMask, WalletConnect, Gnosis Safe, Fortmatic, Portis, and probably Tor.us - List of all the personal addresses are stored through 3Box - Links go to Aragon client DAO page - Public and documented Daoscan API - [GraphQL Schema](https://github.com/my-dao-dashboard/daoscan/blob/master/data/schema.graphql) Expected design: ![](https://i.imgur.com/foRsggl.png) ### Step 2 - Listing votes **Estimated duration:** 2 weeks **Goal:** Provide a list of recent votes **Value:** Provide a user with feed of votes, so that she knows what happens with her DAOs at a single glance. Provide queriable votes feed for DAOs, as well as information regarding particular vote. Might be useful for embeddable widgets, like [Aragon Button](https://forum.aragon.org/t/aragon-button-interact-with-daos-everywhere/1185). **Outcome:** - Daoscan API for listing the votes - Public and documented - MyDAODashboard has a seperate page for every DAO that provides all DAO metrics - MyDAODashboard that displays the votes in reverse chronological order for all the DAOs - Display feed of past votes - Display a list of actionable votes - List of votes for this particular DAOs - Vote item links to Aragon client vote Expected design: ![](https://i.imgur.com/0LTwLP5.png) ### Step 3 - In-app voting **Estimated duration:** 4 weeks **Goal:** Vote inside MyDAODashboard **Value:** In private conversation we were told, for highly active DAOs it is impossible to vote on mobile due to amount of processing on the device. As voting information is available right away, rather than loading from blockchain every time, it reduces friction for participation. Bookmarking page becomes one-stop-shop for participating into all the DAOs. **Outcome:** - MyDAODashboard provides the possibility to vote directly inside the app on active proposals for each DAO: - MyDaoDashboard voting mechanism - Rework how accounts are handled and marked in 3Box settings - Provide user-flows for changing between added accounts Expected design: ![](https://i.imgur.com/yeVkY7J.png) ### Step 4 - Events Feed **Estimated duration:** 3 weeks **Goal:** List events feed for DAOs **Value:** A user could see what happens with her DAOs day by day at a single glance, akin to familiar Twitter feed. This increases transparency, thus leads to a fuller experience of DAOs. **Outcome:** - Daoscan API provides a reverse chronological order of events for DAOs: - Voting created - Voting results - Participant votes - Transfer of Tokens - Vault transactions - MyDAODashboard displays a feed of all the events of all DAOs a user is participating/following - MyDAODashboard hightlights DAOs that require attention, based on voting, and recent events to get full user participation ### Step 5 - Notifications **Estimated duration:** 3 weeks **Goal:** Notify a user via Email and Telegram regarding DAO actions. **Value:** Notify the user when configurable events of interest happen on the DAOs, by email and Telegram. As [per @burrata](https://www.reddit.com/r/aragonproject/comments/awjpc5/people_dont_vote_why/ehuzti8?utm_source=share&utm_medium=web2x): ``` ...it's hard to make time and/or not forget when you're getting pinged by 1000 different notifications from every app on every device and life just keeps getting faster and faster. I think UX that integrates into a familiar flow is going to be essential here (mobile app, many notifications/reminders, etc...) ``` Also, provide custom notifications via webhooks. This opens up an opportunity to integrate Aragon with the broader user's ecosystem, including Slack or Discord. Also, one could embed DAO events via something like [n8n](https://n8n.io) or [stdlib](https://stdlib.com) into reacher flow that, for example, combines a DAO with Airtable or Typeform for KYC purposes, or combines a DAO with Meetup.com for meetup funding. **Outcome:** - Daoscan API for sending subscription webhooks - Sample Telegram bot for notifications regarding DAO events - MyDAODashboard provides email notification preferences to notify on events of interest: - Vault transactions - Votes created and finished - MyDAODashboard sends email notifications for events ## Funding We request 75000 DAI distributed after each successful step, with 75% paid on completion, and 25% as a sucess fee in ANT. | Step | Duration | On Completion | Success Fee | Total | | -------- | ------------- | ----------- | ----- | -- | | 1. Bookmarking | 3 weeks | 11250 | 3750 | 15000 | | 2. Listing Votes | 2 weeks | 7500 | 2500 | 10000 | | 3. In-app voting | 4 weeks | 15000 | 5000 | 20000 | | 4. Events Feed | 3 weeks | 11250 | 3750 | 15000 | | 5. Notifications | 3 weeks | 11250 | 3750 | 15000 | This covers both development work (70%), community engagement (25%), and next 12 months of compute (5%).