Closed bdresser closed 2 months ago
Hi, @JSeiferth your image is inaccessible again
@Chomtana updated, try now
@JSeiferth @bdresser
Only badgeholders are allowed to create Lists.
Shouldn't lists be created by anybody to crowdsourcing communities to help badgeholders?
@JSeiferth @bdresser
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 I have some questions about this RFP
Hey @luizakp! Just to flag that the Discovery & Voting application will allow badgeholders to discover, view and interact with Lists. This mission will enable badgeholders to create the Lists that are then surfaced in the RetroPGF Voting application.
You can find the EAS & Metadata schema for Lists here
@JSeiferth is this RFP still open ? Can we still propose our solution? Thanks
We 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:
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: https://retro-pgf.vercel.app https://github.com/supermodularxyz/OP-RetroPGF
Read more about why we are a great fit for this project: https://github.com/ethereum-optimism/ecosystem-contributions/issues/104#issuecomment-1662770062
We 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.
The 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:
Milestone | Done by |
---|---|
Specification | 2023-09-20 |
Create List page | 2023-09-24 |
Backend | 2023-10-01 |
Testing & QA | 2023-10-08 |
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. [x] I understand that I will be required to provide additional KYC information to the Optimism Foundation to receive this grant [x] I understand my locked grant may be clawed back for failure to execute on critical milestones, as outlined in the Operating Manual [x] I confirm that I have read and understand the grant policies [x] I understand that I will be expected to following the public grant reporting requirements outlined here
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
Alliance Lead: Freshelle
Contact info: Zeptimus will handle comms: @zeptimusq (Telegram)
L2 recipient address: 0xc8d65e1bd67f16522e3117b980e1c9d2caeb9dc3 (generalmagic.eth)
Please list the members of your Alliance and link to any previous work:
@pourcheriki - Developer. More info: Github Lead Front-End Developer at Giveth. Cherik has been leading the front-end design on a variety of products and features in the Giveth Galaxy for the last 2 years.
@markoprljic - Design lead. Head of Design and Business Developer at General Magic. “Magic Marko” is a top notch designer and has been practicing his art on web2 and web3 projects for over a decade.
@mhmdksh - Devops. He's managing servers and working with devst to enhance processes, and automate deployment procedures.
@ZeptimusQ - Comms. Transparency and accountability advocate. A passionate representative focused on decentralized governance.
@thegrifft - Advisor. Co-founder of Giveth, Commons Stack, General Magic, Dappnode. Optimism Steward.
@moe_nick - Advisor. Products & Fintech Enthusiast. PM for https://giveth.io, also PMing the Pairwise project ex-MyDigipay, ex-Tadbirpardaz, ex- Finnotech
We will be collaborating with various members of the Pairwise team as needed. Their expertise and insights will be invaluable in ensuring the success and efficiency of our proposed solution.
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”:
We will create special categorized lists that we will call categories, these collections are projects with the most similarities. And those will include multiple projects that have applied for RetroPGF. This will facilitate easier navigation and decision-making for voters.
To realize this vision, we are committed to creating an open, transparent process to classify the projects. We'll engage projects to collect additional data, publicly share all collected data, conduct community reviews of our categorizations, and actively collaborate with the Pairwise team to integrate with their application. Our focus on strong project categorization, combined with the effective integration of technology and community engagement, aims to enhance the overall user experience and the efficacy of the voting process.
Integration with Pairwise:
We will collaborate with the Pairwise team to create specific categories for project lists. This will allow voters to submit their lists on the dapp we create or upload them directly from Pairwise. Our application will not depend on Pairwise's success but will integrate seamlessly with it if they succeed.
We will work side-by-side with the Pairwise team to categorize the projects into categories, and validate those categorizations with the community.
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 --
Please 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 Alliance Lead: Chomtana Chanjaraswichai (Opti.domains) Contact info: Chomtana001@gmail.com L2 recipient address: 0x73F4e6132Cd9E4a3945d9CA6E98e5985BBe16d2D
We 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
https://github.com/ethereum-optimism/community-hub/pull/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
We 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.
We 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:
Our prototype is live at: https://retrolist.opti.domains
Note: Not an actual UI design. This is a working prototype that demonstrates the functionalities
We will develop core functionalities as listed in the requirements
Imagine 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
We 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:
We 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.
Listing 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.
We 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.
For 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.
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
We will complete this before grant is accepted. However, with agile methodology, it has enough flexibility to change between sprints.
28 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.
25 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.
9 - 14 October 2023
Utilizing the feedback provided by the Optimism team, we will seek to improve our product through rigorous testing and bug fixing.
12 - 14 October 2023
Deploy RetroPGF List Creation UI to production
After 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.
Upfront Capital is not a barrier. However, with a much lower grant size, getting some small upfront cash grant would be great!
-- end of application --
oeth:0xa41214012d4462ecBB0724673897Ee0dCc0fDF49
For this RFP, we've outlined the following steps:
Assuming a start date of September 15th, 2023.
Milestone | Delivery Date |
---|---|
Specification | September 15, 2023 |
Set up project & deployment | September 15, 2023 |
Create List feature | September 29, 2023 |
View List UI | October 6, 2023 |
Testing & QA | October 13, 2023 |
Monitoring and support | Until March 2024 |
We will commit to improving, supporting, and featuring improvements for subsequent RetroPGFs until March 2024.
-- 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:
Our prototype is live at: https://retrolist.opti.domains
Note: Not an actual UI design. This is a working prototype that demonstrates the functionalities
Submissions for this RFP are now closed. Thanks to everyone who submitted a proposal! Someone from the Optimism Foundation will reach out on or shortly after Aug 11 to communicate which proposal(s) have been accepted and schedule a kickoff.
In the meantime, feel free to tag me here or reach out directly (jonas@optimism.io) 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! There will be more RFP's & Ecosystem Project Ideas in the Ecosystem's Contribution repo and future opportunities to contribute to RetroPGF.
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. https://round3.optimism.io/lists/create
If you're curious about the code, you can find it here: https://github.com/supermodularxyz/OP-RetroPGF
This is still listed as "open" but is in the "done" bucket. Can we close?
@JSeiferth
Foundation Mission Request – RetroPGF List Creation UI
Proposed Foundation Mission (RFP): RetroPGF List Creation UI
S4 Intent: Governance Accessibility
Proposal Tier: Ember
Baseline grant amount: 20k OP
Should this Foundation Mission be fulfilled by one or multiple Alliances: One
OP Labs or Optimism Foundation Sponsor: Jonas (gh: @JSeiferth, TG/Discord: @jonassft)
Submit by: September 4th, 2023
Selection by: September 11th, 2023
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
![259787144-77d40359-e219-4a4d-800d-874186661167](https://github.com/ethereum-optimism/ecosystem-contributions/assets/1016190/df0e7d8f-05be-40c7-b6f1-c673e61cf907)
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](https://gov.optimism.io/t/collective-trust-tiers/5877/2)** * **Alliance Lead:** Please specify the best point of contact for your team * **Contact info:** * **L2 recipient address:** * **Please list the members of your Alliance and link to any previous work:** Read more about Alliances [here](https://gov.optimism.io/t/season-4-alliance-guide/5873) --- **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)](https://gov.optimism.io/t/grant-policies/5833) 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: - [ ] I understand my grant for completing this RFP will be locked for one year from the date of proposal acceptance. - [ ] I understand that I will be required to provide additional KYC information to the Optimism Foundation to receive this grant - [ ] I understand my locked grant may be clawed back for failure to execute on critical milestones, as outlined in the [Operating Manual](https://github.com/ethereum-optimism/OPerating-manual/blob/main/manual.md#valid-proposal-types) - [ ] I confirm that I have read and understand the [grant policies](https://gov.optimism.io/t/token-house-grant-policies/5833) - [ ] I understand that I will be expected to following the public grant reporting requirements outlined [here](https://gov.optimism.io/t/suggested-public-reporting-requirements-for-grantees/4176) -- end of application --