-
Notifications
You must be signed in to change notification settings - Fork 125
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Foundation Mission Request: RetroPGF List Creation UI #106
Comments
Hi, @JSeiferth your image is inaccessible again |
@Chomtana updated, try now |
Only badgeholders are allowed to create Lists. Shouldn't lists be created by anybody to crowdsourcing communities to help badgeholders? |
@Chomtana If anyone could create Lists that might result in hundreds of Lists being creating and a curation problem. To avoid this problem, and keep things simple, only badgeholders will be able to create Lists in RetroPGF 3. |
Hi, @JSeiferth
|
Hey @luizakp!
You can find the EAS & Metadata schema for Lists here |
@JSeiferth is this RFP still open ? Can we still propose our solution? Thanks |
RetroPGF Voting Lists Supermodular Foundation Mission Application
Team members
Previous WorkWe are the team behind Supermodular, the venture studio that launched Gitcoin. We are focused on doing lean 0 to 1 build outs in the regen ecosystem.
A few other things we’ve built:
What makes your Alliance best-suited to execute this Mission?We are already building the Discovery & Voting for RetroPGF it would make sense to create the lists in the same app. We're already building much of what is required in this RFP:
We have already made good progress in the RFP and will have much of the functionality in place by September 17th. You can check our progress here: Read more about why we are a great fit for this project: Please describe your proposed solution based on the above Solution Criteria (if applicable):FrontendWe will have much of the frontend in place:
A Create List page will be created and a link placed either in the Links page or in the navbar (possibly both). The Create List page looks similar to View List page but with input fields to enter the list data. A search input allows the user to search for projects and add to the Allocation form. Searching for projects is already implemented as part of the Discovery & Voting. The allocation form is similar to the Edit Distribution and Ballot Review in RetroPGF Discovery & Voting. Thus the badgeholders are familiar with the UI. Once the form has been filled out the badgeholder click Save List button and signs a message in the wallet. When the list has been created the user is shown a success message. BackendThe backend receives the created list and the signed message. This signature is verified to make sure the badgeholder did in fact create the list and ensure the authenticity. The backend uploads the list data to IPFS and creates an EAS Attestation. OpenZeppelin Relayer is used to pay for the gas for creating the attestations. This gives us some benefits:
Please outline your step-by-step plan to execute this Mission, including expected deadlines to complete each piece of work:
Please define the critical milestone(s) that should be used to determine whether you’ve executed on this proposal:
Please list any additional support your team would require to execute this mission (financial, technical, etc.): Check-ins every other week to do demos/get feedback. Grants are awarded in OP, locked for one year. Please let us know if access to upfront capital is a barrier to completing your Mission and you would like to be considered for a small upfront cash grant: We do not need upfront capital to do this. Please check the following to make sure you understand the terms of the Optimism Foundation RFP program: [x] I understand my grant for completing this RFP will be locked for one year from the date of proposal acceptance. |
Hey, @JSeiferth this is a PoC I've worked on to make sure I understand the concept. It would help a lot to get your input! Thanks https://www.loom.com/share/e9d56af1b5564b9292730bdee4a278f5?sid=5b066757-4504-4edc-9e13-7ddd490d6792 |
@JSeiferth proposal submission has been extended to September 4th right? |
Please verify that you meet the qualifications for submitting at the above Tier
Read more about Alliances here What makes your Alliance best-suited to execute this Mission? Our Alliance is uniquely positioned to execute this mission due to our extensive experience and proven track record.
We are excited to apply our unique experience to become a part of one of the most important Public Goods experiments in web3. Please describe your proposed solution based on the above Solution Criteria (if applicable): We are creating an interface that encompasses all the categories and projects selected for RetroPGF3. Users will have the ability to create their own lists based on these categories, curating collections of projects. In our interface, citizens can create up to five lists that they can share and edit. Citizens will allocate a percentage of the budget to specific categories and then to individual projects. This allocation can be done manually, and the system will seamlessly integrate with Pairwise. Categorization of Projects into “Collections”:
Integration with Pairwise:
Public or Private Submission of Lists:
Integration with EAS for On-chain Attestations and IPFS Metadata Posting:
Please outline your step-by-step plan to execute this Mission, including expected deadlines to complete each piece of work: Technical work:
Categorization work:
Please define the critical milestone(s) that should be used to determine whether you’ve executed on this proposal: Milestone 1: Specification Completion
Milestone 2: Core Features Development
Milestone 3: Testing and Quality Assurance
Milestone 4: Application Launch
Milestone 5: Continuous Feedback and Iteration
Please list any additional support your team would require to execute this mission (financial, technical, etc.):
Grants are awarded in OP, locked for one year. Please let us know if access to upfront capital is a barrier to completing your Mission and you would like to be considered for a small upfront cash grant: (Note: there is no guarantee that approved Missions will receive up-front cash grants.)
Please check the following to make sure you understand the terms of the Optimism Foundation RFP program:
-- end of application -- |
Foundation Mission (RFP) ApplicationPlease verify that you meet the qualifications for submitting at the above Tier: Opti.Domains is a grant recipient in season 3, Cycle 11 As clarified by @Lavande: “That sounds like Fledging! Receiving and executing on a grant constitutes working with the Collective” https://gov.optimism.io/t/collective-trust-tiers/5877/10?u=opti.domains Alliance name: Opti.domains Please list the members of your Alliance and link to any previous work:Chomtana Chanjaraswichai (Opti.Domains, Alliance Lead)
Petch Luancharoen (UX/UI Designer, Inspex Point of Contact)What makes your Team best-suited to execute this Mission?
Professional level EAS experienceWe have attested more than 10,000 attestations in Optimism Goerli! We have a long experience with EAS from the start. We have developed our Opti.domains smart contract and social verification backend integrated with EAS a few months ago and have developed a good relationship with EAS team in github discussion. https://optimism-goerli.easscan.org/address/0xf01dd015bc442d872275a79b9cae84a6ff9b2a27 https://optimism-goerli-bedrock.easscan.org/ https://optimism-goerli-bedrock.easscan.org/address/0xf01Dd015Bc442d872275A79b9caE84A6ff9B2A27 We are the first ones who utilize EAS to attest social verification. It's quite complex but we have made it. Try one yourself at https://town-testnet.opti.domains/ We have published the EAS SDK package for our internal migration process 3 days before the offical launch of EAS SDK. Proof:
On 4 August, we have finished our migration process to have it compatible with latest EAS (Smart contract and social verification backend) in 3 days which is a very remarkable duration. Not only EAS SDK but we can also deploy and customize the EAS indexer (https://github.com/ethereum-attestation-service/eas-indexing-service) ourselves. So, it won't be blocking if there are any problems in your EAS indexer because we can host it ourselves. But in fact, we can use https://optimism.easscan.org/graphql public endpoint for basic attestation query We also detect errors in the official optimism document regarding EAS and have opened a pull request ethereum-optimism/community-hub#853 This demonstrates our great understanding of EAS at a level that can advise you in the design of schema especially on social verification if you need it. Our intensive experience with EAS that significantly reduces development time and increase the quality of RetroPGF 3 List Creation UI development Experience with grantWe have experience with grants and have simulated the RetroPGF voting process in the previous RetroPGF 2 and a new proposed one. It's clear that RetroPGF 2 voting experience is horrible as badgeholders are required to copy their ballot to deform. The new process solves this redundancy, however, assigning op for each project is still hard due to the reason explained in the Extra feature: Rubric-based list builder section below. Please describe your proposed solution based on the above Solution Criteria:Live PrototypeWe have developed a live prototype demo which accounted to about 40% completion of RetroPGF 3 list creation. Our prototype currently supports 2 list-creation methods:
Demo LinkOur prototype is live at: https://retrolist.opti.domains Demo VideoScreenshotsNote: Not an actual UI design. This is a working prototype that demonstrates the functionalities Classical List CreationRubric-based List CreationCore functionalitiesWe will develop core functionalities as listed in the requirements Wallet connect
Discover Projects while managing list
List system
Rubric-based list builderImagine a badgeholder who is faced with the challenging task of assigning the number of OP token to a project, this decision is influenced by multiple factors. The number of OP allocated to a project must consider various aspects, not only the impact of an individual project but also including the total number of projects and the relative earning of each project. Assigning correctly in the first pass is nearly impossible, necessitating second, third, and subsequent passes to craft the perfect ballot. In our opinion, we can utilize the grant council scoring system to assist badgeholders in independently scoring each project based on its impact, separate from other projects. Subsequently, we can employ these scores to calculate a perfect final list. However, it's essential to acknowledge that each badgeholder may possess their own impact evaluation metrics. Thus, we propose allowing badgeholders to design their individual metrics, while providing a base template for each category to ensure consistency. A prototype is worth thousand of words, please take a look at our prototype
FrontendWe have successfully used React + Vite to develop our frontend. We have successfully deployed our frontend on Cloudflare Page. Our frontend is now accessible from https://retrolist.opti.domains. We will utilize our special caching technique for caching project discovery and leverage cloudflare cache to cache list data. This ensure that our system can scale to million of users seamlessly and users are having the best experience due to low latency. We have planned to support 3 kinds of list-creation methods:
DatabaseWe plan to leverage MongoDB Atlas along with comprehensive backup mechanisms, ensuring our data is hosted securely and has sufficient capacity for peak-hour demands. Upon analysis, we found that the RetroPGF 3 listing favor a NoSQL document-based database as follows: Lists along with owners, impact evaluations, and votes [
{
"_id": "...",
"listName": "...",
"listDescription": "...",
"impactEvaluationInput": "...",
"impactEvaluationDescription": "...",
"impactEvaluationLink": "...",
"impactEvaluationType": "...",
"listContent": [
{
"RPGF3_Application_UID": "...",
"OPAmount": "...",
"comment": "...",
"evaluation": {
"<rubric_id>": 5
}
}
],
"walletAddress": "...",
"isBadegeholder": true,
"attestationUid": "...",
"ipfsHash": "...",
"forkedFrom": "<List ID>",
"rubrics": [
{
"id": "<uuid>",
"title": "...",
"scores": {
"-2": "...",
"0": "...",
"1": "...",
"2": "...",
"3": "...",
"4": "...",
"5": "..."
}
}
],
"histories": [
],
"cachedAt": "...",
"createdAt": "...",
"updatedAt": "..."
}
] This strategy considerably reduces development time and cost by avoiding unnecessary complexity. BackendListing APIListing API endpoints include List listing, Classical list creation (Draft, Edit, Publish), Rubric-based list creation (Draft, Edit, Publish) and List forking. List will be published to IPFS prior to submitting to EAS. Project scrapingWe will scrape projects once from either Agora or Supermodular RetroPGF voting platform. Project data will be cached in the frontend and no API query is needed anymore. DeploymentFor backend API deployment, we propose utilizing Atlas Functions, a MongoDB Atlas serverless solution that we don't need to worry about scaling tasks at all. Please outline your step-by-step plan to execute this Mission, including expected deadlines to complete each peice of work:We champion the agile methodology in product development due to the potential uncertainty of initial requirements. Feedback from project sponsor @JSeiferth, the Optimism team, and Badgeholders is instrumental in refining these requirements, thus aligning our product to optimally meet user needs. We will deploy our live development endpoints from the project start and open source our repositories Project Implementation Specification, Design Approach, and ArchitectureWe will complete this before grant is accepted. However, with agile methodology, it has enough flexibility to change between sprints. Sprint 1: Frontend Hackathon28 August - 24 September 2023 In this phase, our team will develop the frontend using mock-up data. This approach ensures no backend or scraper feature interactions are required at this stage. Sprint 2: Backend & EAS Integration25 September - 8 October 2023 The second sprint will be dedicated to the development of backend API, database, and integration of the backend systems with the already developed frontend. Sprint 3: Testing, Bug Fixes and Additional Features9 - 14 October 2023 Utilizing the feedback provided by the Optimism team, we will seek to improve our product through rigorous testing and bug fixing. Sprint 4: Production Deployment12 - 14 October 2023 Deploy RetroPGF List Creation UI to production Maintenance and SupportAfter production deployment, we will provide maintenance and support. As I am a TechNerd, badgeholders and users having problem with our tool can open a user or dev support ticket on the official Optimism discord to discuss the problem with me seamlessly. Since our deployment is mostly serverless, each cloud provider will also provide 24/7 maintenance support for our RetroPGF list creation UI. Please define the critical milestone(s) that should be used to determine whether you’ve executed on this proposal:
Please list any additional support your team would require to execute this mission (financial, technical, etc.):
Grants are awarded in OP, locked for one year. Please let us know if access to upfront capital is a barrier to completing your Mission and you would like to be considered for a small upfront cash grant:Upfront Capital is not a barrier. However, with a much lower grant size, getting some small upfront cash grant would be great! Please check the following to make sure you understand the terms of the Optimism Foundation RFP program:
-- end of application -- |
Foundation Mission (RFP) Application
What makes your Alliance best-suited to execute this Mission?
Please describe your proposed solution based on the above Solution Criteria (if applicable):For this RFP, we've outlined the following steps:
Please outline your step-by-step plan to execute this Mission, including expected deadlines to complete each piece of work:Assuming a start date of September 15th, 2023.
We will commit to improving, supporting, and featuring improvements for subsequent RetroPGFs until March 2024. Please define the critical milestone(s) that should be used to determine whether you’ve executed on this proposal:
Please list any additional support your team would require to execute this mission (financial, technical, etc.):
Grants are awarded in OP, locked for one year. Please let us know if access to upfront capital is a barrier to completing your Mission and you would like to be considered for a small upfront cash grant: (Note: there is no guarantee that approved Missions will receive up-front cash grants.)
Please check the following to make sure you understand the terms of the Optimism Foundation RFP program:
-- end of application -- |
Hi @JSeiferth, We have developed a live prototype demo which accounted for about 40% completion of RetroPGF 3 list creation. Our prototype currently supports 2 list-creation methods:
Demo LinkOur prototype is live at: https://retrolist.opti.domains Demo VideoScreenshotsNote: Not an actual UI design. This is a working prototype that demonstrates the functionalities Classical List CreationRubric-based List Creation |
Submissions for this RFP are now closed. Thanks to everyone who submitted a proposal! In the meantime, feel free to tag me here or reach out directly ([email protected]) with any questions 🌞 |
Hi all – thanks for the excellent submissions! 🌞 The Optimism Foundation has selected Supermodular’s proposals to move forward with the work described in this RFP. That said, we're really excited about the amount of interest from everyone here! To all the other teams that applied, we'd love to help you find the right way to contribute to the Optimism Collective! If you have an idea of what you’d like to build for RetroPGF, feel free to reach out to me and/or post about it in the forum Thank you again for your proposals! |
RetroPGF is now live and we're happy to share what we've built here. You can play around with the UI but you need to be a badgeholder to publish the list. If you're curious about the code, you can find it here: |
This is still listed as "open" but is in the "done" bucket. Can we close? |
Foundation Mission Request – RetroPGF List Creation UI
How will this Foundation Mission (RFP) help accomplish the above Intent?
Retroactive Public Goods Funding (RetroPGF) Round 3 will take place this fall and will distribute 30M OP to reward contributions that have supported the development and adoption of Optimism.
This mission will create an application that allows badgeholders (voters in RetroPGF) to create Lists, a new tool for vote sharing and by doing so contribute to a more accurate evaluation of projects and the overall success of RetroPGF 3.
What are Lists?
In the previous round of RetroPGF, badgeholders started sharing their proposed votes to learn from each other's expertise in different areas. In round 3, we’re introducing Lists as a more powerful tool to facilitate that sharing of context, and enable badgeholders to easily leverage each other's proposed votes.
The RetroPGF Voting application will allow badgeholders to discover, view and interact with Lists (see screenshot of designs below). This mission will enable badgeholders to create the Lists that are surfaced in the RetroPGF Voting application.
How Lists are presented to users
What is required to execute this Foundation Mission (RFP)?
Completing this Mission requires:
Core functionality of the application
Enable badgeholders to create Lists, the following steps are core to this user journey:
Relevant checks will need to applied to the creation of Lists, such as char limits and other limitations (e.g. the OP allocated among projects can't exceed the total round OP allocation.)
Technical Architecture and implementation
You can find the EAS & Metadata schema for Lists here
What milestones will help the Collective track progress towards completion of this Foundation Mission (RFP)?
How should badgeholders measure impact upon completion of this Mission (RFP)?
Application instructions
To apply for this RFP, please complete the form in the expandable section below and leave your response as a comment on this issue thread. Submissions will be open until June 28, at which time the Foundation will review all submissions and select one individual/team to complete the work defined here.
Submission form
Copy the entire application below and leave a comment on this issue with your answers completed. A representative from the Optimism Foundation may reach out using the contact info provided to request more information as necessary.
Foundation Mission (RFP) Application
Please verify that you meet the qualifications for submitting at the above Tier
Read more about Alliances here
What makes your Alliance best-suited to execute this Mission?
Please describe your proposed solution based on the above Solution Criteria (if applicable):
Please outline your step-by-step plan to execute this Mission, including expected deadlines to complete each peice of work:
Please define the critical milestone(s) that should be used to determine whether you’ve executed on this proposal:
Please list any additional support your team would require to execute this mission (financial, technical, etc.):
Grants are awarded in OP, locked for one year. Please let us know if access to upfront capital is a barrier to completing your Mission and you would like to be considered for a small upfront cash grant: (Note: there is no guarantee that approved Missions will receive up-front cash grants.)
Please check the following to make sure you understand the terms of the Optimism Foundation RFP program:
-- end of application --
The text was updated successfully, but these errors were encountered: