---
# System prepended metadata

title: Untitled

---

## Title of proposal: 
Synthetix GrantsDAO DApp


## Description: 

We propose to build a new open-source frontend for the Synthetix GrantsDAO in order to improve the user experience and code quality with respect to current one.

This proposal seeks the following goals:
* Build a new frontend towards an enhanced user experience, providing different features for each type of users (general visitors, community members and team members) in one master cohesive design.
* Provide to visitors a clear summary of what the GrantsDAO has currently funded and wants to fund.
* List proposals and requests in a tabbed interface, with one tab for proposals and one for requests.
* Allow users to filter proposals and requests according to their status
  * Sorted in Markdown according to their status, also displaying number, title, and name
  * Proposals sorted by Proposed (flagged if still in voting period), Approved, Completed, Rejected
  * Requests: Proposed, Completed, Deprecated
* Serve a DApp for GrantsDAO team members to interact with the GrantsDAO contract via MetaMask. Users/viewers should be able to load the DApp without connect to MetaMask.
* Create a subgraph for the GrantsDAO smart contract to speed up and simplify the access to on-chain data.
* Follow the same look and feel of the current SIPs site.


## Motivation:

As a community member, we find the current site not to be well structured. Proposals and their status are confusing (it happened to us when going through the process of a grant to build a Gnosis Safe App). We believe that through our expertise, we can collaborate to develop a high-quality user experience developing an interface that serves data fast, clear, and well organized, and invites the community to participate more. 


## Additional information:

### Value
* Decentralized on-chain data with high speed access and well organized
* Better user experience
* Better graphical user interface
* More features for Community and Team members 
* Hosted on IPFS (no centralized party involved)

### Data to process
* Connection to Metamask
* Get proposal data
* Get community members
* Get team members 
* Get on-chain proposals data (status, voters, votes, etc)
* Get off-chain proposals/requests data (GitHub repository)

### User types
* Visitor (read-only)
* Community member 
* Team members (admin)

### Technologies
* Gatsby (React)
* TypeScript
* Subgraph (GraphQL)
* Styled Components

### Assumptions
* Specifications may change during the project definition and scope discovery.
* The complete UI/UX design (mockups) will be available at the time of starting DApp development

### Development Roadmap
The following roadmap is the result of an initial research of the Synthetix GrantsDAO contract and an analysis over the existing user interface:

#### Milestone 0 - Project Definition
 - Goals
   - Define project scope and assumptions
   - Fully understand grantsDAO contract domain
   - Estimate project duration
- Deliverables
  - Clear and detailed project specs
  - Wireframes for main workflows
 - Team: Project Manager, UI/UX Developer, Ethereum Developer
 - Estimate, hours: 

#### Milestone 1 - UI/UX Design
- Goals
  - Create, validate and agree on UI/UX mockups for all pages of GrantsDAO frontend
- Deliverables
  - Mockups and assets for all the pages
- Team: UI/UX Developer
- Estimate, hours: 

#### Milestone 2 - Community Members (MVP)
- Goals
  - Provide visitors a clear summary of what the GrantsDAO has currently funded
- Deliverables
  - GrantsDAO DApp MVP
  - Subgraph for Synthetix GrantsDAO contract
- Team: Tech Lead, Full Stack Developer
- Estimate, hours: 

#### Milestone 3 - Team Members
- Goals
  - Enable team members to perform all actions they can do (voting, adding new members, creating/removing proposals, updating system parameters)
- Deliverables
  - Fully functional GrantsDAO DApp
- Team: Tech Lead, Full Stack Developer
- Estimate, hours: 

#### Milestone 4 - Deployment & QA
- Goals
  - Deploy the application on IPFS (TBD)
  - Quality assurance and end-user testing of every workflow
  - Bug Fixing
  - Complete project documentation
- Deliverables
  - Full artifacts to deploy/serve DApp as static content
  - System documentation
- Team: Tech Lead, Full Stack Developer, QA Engineer
- Estimate, hours: 

## Previous work: 
[Protofire](https://protofire.io) is a team of engineers, which helps decentralized protocols and developer platforms to accelerate growth of their ecosystems. By delivering hands-on coding and contributions, Protofire specializes in bootstrapping developer adoption and network usage.

Relevant projects:
- [Opyn SDK](https://opyn.co/#/buy)
- [Safe Apps SDK](https://www.npmjs.com/package/@gnosis.pm/safe-apps-sdk)
- [Compound Safe App](https://github.com/gnosis/safe-react-apps/tree/master/src/apps/Compound)
 

## Estimated hours: 

|  #  | Description | Estimate (hours) |
| --- | --- | --- |
|  0  | Project Definition |  |
|  1  | UI/UX Design |  |
|  2  | Community Members (MVP) |  |
|  3  | Team Members |  |
|  4  | Deployment, QA, Stabilization & documentation |  |

Total: x hours

## Price (SNX): 
e.g. 
- y SNX 

## Ethereum Address: 
- Please add an eligible Ethereum wallet address you'd like the funds sent to. 

## Questions

1. We have checked the contract but it is not entirely clear for us what you call ‘Request' and what is the difference with a ‘Proposal’. Which is the role or the usefulness of “requests”. Can you define ‘request’ and ‘proposal’? How are they both handled by the contract? 
> [color=#2dbfae]

2. How does a team member currently vote on a proposal? Manually? 
> [color=#2dbfae]

3. How does a DAO member submit a proposal at https://snxgrants.io? How does a DAO member interact with the DAO contract? 
> [color=#2dbfae]
4. Regarding building a UI oriented to team members: 
   - Do you want to only add vote actions or it should include all actions that team members can perform on the contract?
   - Do you have any reference for pages’ structure or we should design it on our own? 
> [color=#2dbfae]
5. Are you interested in including the Github content for proposals into the web page? We can include remote content in different ways.
> [color=#2dbfae]
6. Do you agree on updating the user icon by a “unique identity icon” based on the blockchain user address?
> [color=#2dbfae]
7. Is there any deadline or ETA for this project?
> [color=#2dbfae]
8. Are you interested in deploying the UI on IPFS in order to make it as a solution completely decentralized?
> [color=#2dbfae]