funded
IOG Catalyst Team : Ideascale replacement and web-browser based Voting Centre with liquid democracy aka “Catalyst Voices”
Current Project Status
In Progress
Amount
Received
₳414,000
Amount
Requested
₳840,000
Percentage
Received
49.29%
Solution

Catalyst Voices provides a unified experience and platform including production-ready liquid democracy, meaningful collaboration opportunities & data-driven context for better onboarding & decisions

Problem

Catalyst’s short participation windows with fragmented UX experience and complicated manual processes frustrate and limit community engagement

Impact / Alignment
Feasibility
Value for money

Team

1 member

IOG Catalyst Team : Ideascale replacement and web-browser based Voting Centre with liquid democracy aka “Catalyst Voices”

Please describe your proposed solution.

Image file

Catalyst is one of the major entry points for new builders and ecosystem contributors to join the Cardano community. It represents thousands of individuals, projects, and innovators all accomplished in less than the three years it's been running. Each funding round relies on lively community participation and consent to produce high-quality decisions that represent the best interests of the Cardano ecosystem. However, over the course of the nine previous funding rounds, several barriers to entry have surfaced that negatively impact adoption and utility for the broader ada community.

For example, today’s fragmented voting experience presents a major barrier to adoption, limiting the capacity of our collective decision-making. Infrequent, timeboxed windows to participate are easily missed. Unfamiliar processes, information overload, and lack of formal onboarding further exacerbate any new user’s challenges.

As a growth enabler for the broader Cardano community, Catalyst provides many vital aspects to the community including critical funding for new builders and ecosystem contributors. In order for the Cardano community to reach critical mass and produce the best decisions possible, the Catalyst voting experience must be accessible, understandable, and as seamless as possible for all users. At the heart of Catalyst is a belief that the more voices heard, the smarter the choices made.

Proposal deliverables:

  1. Unified user-experience for web browser-based Catalyst voter and DRep registration, proposal submission, voting directly on proposals or delegating voter power to DReps
  2. Liquid democracy, enabling voters to delegate voting power to DReps

Proof of concept prototypes are demonstrated here:

Browser-based voting and liquid democracy [VIDEO]

Proposal submission prototype [VIDEO]

The Catalyst Team at IOG (“Catalyst Team”) proposes to deliver production-ready advancements to the Catalyst system by:

  • Streamlining the existing Catalyst experience into a single Voting Center platform, enabling
  • Creation of role registrations on Cardano mainnet to participate as a voter, representative, or proposer (and enabling all new roles in the future)
  • Browsing, collaborating on, and submitting proposals (at any time) with all updates signed by an authorized wallet
  • Casting, confirming and auditing encrypted votes on Catalyst’s privacy-preserving voting sidechain
  • Viewing eligible and received rewards tied to a connected wallet
  • Delivering a Decentralized Authentication / Authorization (AuthN/AuthZ) framework to enable role-based access control for sensitive activities including collaborative (yet private) document editing and Catalyst dRep voting. Without collecting emails, usernames, passwords or relying on third parties like OAuth.
  • Collaborating with the community on CIP changes and wallet integrations to associate key activities for proposal submission and vote casting with on-chain registrations to increase auditability and accountability across funding decisions and project delivery, while unlocking future reputation systems.
  • Laying unified foundations for future open-source collaboration with the community to refine processes and develop new capabilities inside a single, unified front-end interface without limiting opportunities for parallel community experimentation on the Catalyst Continuous Testnet.

Introducing Catalyst Voices

Through this 12 month project, the Catalyst Team proposes to unleash the wisdom of the community by delivering a front-end web-browser based application that radically lowers the barriers to meaningful participation in collective decision-making for voters, representatives, and proposers.

A unified front-end interface to meet the needs of the Catalyst community. Developed with continuous feedback from the community, the Catalyst Team will deliver a unified experience to replace the patchwork composed of wallets, Ideascale, standalone web apps, and the Catalyst mobile app today.

The proposed product design is informed by insights gleaned over nearly three years of operating Catalyst, ongoing discovery research, and feedback from the community.

Prior feedback and research indicate 3 significant opportunities to improve the Catalyst experience with a unified platform:

  • Streamline the experience by designing modules to serve the needs of each role
  • Unlock continuous opportunities for ideation, feedback, building skills and reputation, as well as earning rewards
  • Offer better guidance by creating context based on identity, preferences and intent

The proposed outputs will:

  • reduce the time and steps required of Catalyst users to complete important actions eliminating the frustration of context switching
  • accelerate the onboarding and upskilling of both casual and committed Catalyst users
  • improve the quality of participation with just-in-time tips, and more data provided to voters about Catalyst proposals
  • introduce participation history that maintains data and context over time,

Simplified user processes mean more time spent on activities that matter, enabling new capabilities and co-building opportunities that push the boundaries of distributed decision-making.

All these benefits add up to productivity gains, a more collaborative and focused community, and better funding decisions that create more value for the Cardano ecosystem.

Unlocking Incremental Value With Milestones & Continuous Testing

The proposed project will be delivered via a series of milestones, each unlocking new capabilities and creating value for Catalyst and the Cardano ecosystems.

Milestones include:

  1. Open Source Setup
  2. Architectural Updates to registrations to support multiple roles
  3. Backend and Wallet Integration Updates
  4. Voting & Delegation
  5. Proposal Submission & Commentary

Continuous Testing & Learning

Along the way, continuous delivery to the Catalyst testnet will ensure that the community has meaningful feedback loops to help guide development - rather than waiting to give feedback. Voters, representatives, and proposers will have a chance to test drive the entire Catalyst process end-to-end every 2 weeks from inside Catalyst Voices once available.

How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?

The proposed solution directly addresses the aims of the challenge to improve decision-making and streamline processes in Project Catalyst. It will do so in a fully open-source manner, as required by the challenge.

Catalyst users will benefit from a far more streamlined user experience and more opportunities for meaningful participation. By unifying standalone applications into a single platform interface, and removing time-boxed constraints for ideation and other activities, users will be able to spend more time crafting exceptional proposals and making well-informed decisions.

ADA holders - even those that don’t participate directly in Catalyst - will also benefit from these improvements. By lowering the barrier to entry while vastly reducing the time required to get up to speed, more holders will have the opportunity to share their ideas and opinions, bringing more community voices into the governance process.

Community developers will gain a reference implementation for interfacing with the Catalyst core backend. By pairing a mature end-to-end reference implementation with the open integration and testing capabilities of Catalyst core technology, we will enable and accelerate continued community efforts to build meaningful system improvements - whether independently or collaborating with the Catalyst Team.

How do you intend to measure the success of your project?

In the short term, user acceptance testing will provide a baseline of initial qualitative and quantitative data to help refine discovery and development.

Over the course of delivery, the Catalyst Team will measure several indicators to assess the success of the Project including:

  • Reducing the number of interfaces/interactions required to complete all actions required of voters, representatives, and proposers
  • New users time needed for education and completing quality actions
  • Types and number of new supporting information or community review data provided to voters about a given proposal
  • Watchers, contributors, and forks on the open-source project repository
  • Data produced from preprod voting events conducted on testnet
  • Testnet users testing and providing feedback on latest features
  • Community contributors collaborating on CIP changes
  • New community wallets supporting latest changes

Feature-specific user acceptance testing will be conducted with at least 5 users, with 80% acceptance rate, collecting deep observational usage data in line with best practices for product design and testing research.

Following which, an open, public demonstrator and community acceptance test will be conducted, where at least 30 users will complete a series of test case scenarios in a live testnet fund cycle and provide feedback to gain further data for UX analyses before production-readiness.

In the long-term, once the final deliverables are ready for primetime, we expect to see a demonstrable increase in participation across the Catalyst fund lifecycle - leading to greater community input, in addition to better quality of community engagement, helping to improve Cardano community-funding proposals under consideration.

We will measure the following KPIs:

  • End of Fund survey data on experience, trust, and fairness
  • Registered and delegated wallets / stake
  • Active voting wallets / stake
  • Avg voting stake per (funded) proposal
  • Total votes cast & avg per wallet
  • # and types of useful supporting information and community review data provided to voters about a proposal

We assert that increasing the share of circulating ADA participating in Catalyst voting (either by registering or delegating) boosts the effectiveness of the system as a whole. Similarly, increasing the number of wallets and share of stake voting on every proposal boosts both quality and diversity of funding outcomes.

End-of-fund survey responses to qualify improvements to overall user-experience, trust in the system, and fairness of decision making will further indicate whether this proposal has delivered on its commitments to Catalyst users.

Please describe your plans to share the outputs and results of your project?

The Catalyst Team is committed to providing continuous, accessible updates to the Cardano community. Updates and outputs will also be published on the Catalyst public Gitbook.

In addition to monthly progress reports and completed milestone proof of achievement ceremonies, the Catalyst team will also promote outcomes, outputs, and general progress in the following ways:

Weekly newsletters:

Reach: 60,000 mailing list members

Each week, an update email is sent to all mailing list members to provide a run down on progress and highlight key achievements.

Fortnightly technical development updates:

Reach: Averaging per week: 3000 report readers, 60,000 Twitter views, 100 retweets

The Catalyst team will provide technical development updates every two weeks as part of the overall Cardano technical development update communications. This will amount to at least 24 updates over the next 12 months, accounting for the seasonal Winter holiday period.

Weekly Town Halls

Reach: At least 1000 viewers, up to 10,000 periodically

Catalyst Town Hall is a mainstay platform for communicating key progress and achievements, and provides an opportunity to gather insights from attendees about new features or potential changes to Catalyst. Catalyst funded projects that have achieved project-completion status are highlighted weekly.

Catalyst Blogs:

Reach: Averaging 5000 readers per blog based on the last 12 months

Regular blogs published via ProjectCatalyst.io will help to amplify progress and updates to outputs that have been achieved.

What is your capability to deliver your project with high levels of trust and accountability?

Our proposal comes with minimal risk, as we have successfully delivered viable standalone proof of concept (POC) solutions to validate our approach to solving some of the biggest challenges - including wallet connect, mainnet registration, decentralized user accounts, verifiable private voting, and interfacing with Catalyst Core backend. These solutions will be married together into a single platform that offers all standalone capabilities in a single place.

Blockchain voting capabilities have been refined over 10 rounds of Catalyst, with more than 1.7 million votes cast. The Catalyst mobile app has been iterated on since Fund0, with encrypted private voting in use since Fund6. The team has deep expertise interfacing with the Catalyst Core backend for consuming parameters and key event details, fetching proposal information, and casting votes.

The Voting Center being deployed to Catalyst continuous testnet builds on the foundations of the voting app to incorporate features including delegation and dRep registration for liquid democracy, while improving the overall voting experience. In the delivery of this project, we will collect community feedback on that PoC implementation, which can be incorporated into the final unified product ready for production deployment in future Catalyst funds.

Over the past 9 months of building the Voting Center, Cardano’s ecosystem wallet teams have collaborated with the Catalyst team to implement key features including wallet connect, Cardano mainnet registration, vote delegation, and vote signing on a standalone desktop application.

In the process, communication channels and trusted relationships with wallet teams across Cardano have been established. We have also implemented and led integration efforts for new CIP changes required by our efforts, including CIP15, CIP30, CIP36, and CIP62 as demonstrated in the following link: Cardano Improvements Proposals (see CIP15, CIP30, CIP36, and CIP62 for more details).

Efforts to solve wallet connect design challenges have also sparked deep discussion and exploration of user authentication and authorization. These discussions have produced a well-defined approach for decentralized role-based access control that has received positive feedback from both community contributors and Cardano technical stakeholders.

In Fund10, (if we receive the mandate to continue as the operator of the Catalyst funding process) the team intends to deliver a standalone Snapshot Module that will allow users to easily verify their registration and check tentative voting power. This will serve as a reference for delivering similar capabilities inside the Voices platform, that can be extended to include additional roles and eligibility checks.

These solutions demonstrate team competencies in interfacing with the Cardano blockchain and Catalyst Core backend, while supporting the broad range of human processes required by Catalyst.

What are the main goals for the project and how will you validate if your approach is feasible?

The primary technical objectives of the proposed project will:

  1. Streamline the existing Catalyst experience into a single Voting Centre platform, effectively replacing Ideascale and readying to deprecate the existing iOS and Android voting apps, to enable:
  2. Creation of role registrations on mainnet to participate as a voter, representative, or proposer(enabling all future roles)
  3. Browsing, collaborating on, and submitting proposals (at any time) with all updates signed by authorized wallet
  4. Casting, confirming and auditing encrypted votes on private voting sidechain
  5. Viewing earned and paid rewards tied to connected wallet
  6. Introduce decentralized Authentication / Authorization (AuthN/AuthZ) framework to enable role-based access control for sensitive activities including collaborative (private) document editing and Catalyst dRep voting - without collecting emails
  7. Collaborate with the community on CIP changes and wallet integrations to associate key activities like proposal submission and vote casting with on-chain registrations to increase auditability and accountability across funding decisions and project delivery
  8. Lay unified foundations for future open-source collaboration with the community to refine processes and develop new capabilities inside a single home - without limiting opportunities for parallel community innovation

Benefits for each of the user groups impacted include:

  • Voters
  • Reduce number of applications required to participate
  • Improve decision quality by helping voters find the right proposals based on skills, interests, and participation history
  • Enhance visibility of rewards and post-funding outcomes of approved proposals
  • Representatives
  • Reduce the cognitive load of reviewing hundreds of proposals with intuitive navigation and embedded decision-assist insights
  • Improve decision quality by increasing the amount of staked ADA participating on every proposal funding decision
  • Boost visibility and adoption with representative discovery, including vanity link profiles on the platform complete with bio, socials, and domain of expertise
  • Proposers
  • Improve proposal quality with more intuitive interface that places submission questions and guidelines alongside proposal submission inputs
  • Promote collaboration (and accountability) with embedded capabilities for co-proposing and signature-based document editing - available at any time
  • Protect intellectual property with option for encrypting drafts prior to submitting final proposals

In combination, these improvements will enhance the overall decision quality and thoroughness of the funding process, in addition to the quality of proposals submitted for consideration.

Approach and implementation

Engineering and security best practices will be followed to implement the solution, in addition to consultation with both the Catalyst / Cardano community and internal IOG subject matter experts from cryptography, and game theory domains. Prior user research and community feedback informs our initial understanding of challenges to solve for.

Catalyst Voices intends to develop iOS, Android, and Web applications from a single code base with near-native speed and performance.

We will approach the implementation of sets of features in terms of “modules”. Each module will correspond to a user role, segmenting the experience into sections aimed at completing specific actions.

Role registrations, participation history, and saved preferences will unlock new aspects of the experience to help users engage at their own pace, on their own terms.

Learnings acquired through developing and maintaining existing tools (such as Catalyst Mobile App, Voting Center, Snapshot Module) will be leveraged in order to rewrite the target development frameworks by building a single platform that is highly secure, extensible, and maintainable. While we anticipate unexpected challenges in integrating all features into a single platform, our plan to leverage battle-tested reference implementations should de-risk and accelerate development significantly.

The project will also benefit from maximizing the results of prior discovery and design research. Wireframes and mock-up designs created for and after user testing for the proposal submission module to replace Ideascale will continue to refine the UX with further user feedback gathered during the delivery of this project. This will include features and UX interactions for user profiles, cross-module navigation, and embedded guidance.

Finally, the development of Catalyst Voices will follow the testing and deployment framework planned for the existing Catalyst stack. The latest experimental features will be deployed to a public devnet, and the latest stable features will be deployed to a public testnet. The community will have opportunities to engage with new features and provide feedback before promoting features to the production release candidate.

Recurring voting events will run every 2-weeks on the Catalyst testnet to provide more frequent opportunities to engage with each of the phases of proposing, reviewing, and voting.

Please provide a detailed breakdown of your project’s milestones and each of the main tasks or activities to reach the milestone plus the expected timeline for the delivery.

A roadmap for the project’s planned delivery can be found in Appendix A

APPENDIX A: CATALYST VOICES MILESTONE & TIMELINE

Milestone 1: Open Source Setup & Initial Voting Module Deployments to Testnet

Delivery Time: Approx. 1 Month

Cost: ₳75,000

Acceptance criteria: The first milestone will lay the foundations for Catalyst Voices to be delivered as a fully open source project. It will include a public repository for the project, appropriate licensing for all code & documentation, and setup of a continuous integration and deployment pipeline that will allow community oversight and feedback from Day 1.

Working frontend implementation for voting and delegation, will be delivered to testnet as soon as viable, and will continue to be refined over the course of the project. Production readiness for the voting module will come in future milestones, as backend enablers and integrations are completed.

This ensures a high degree of auditability and oversight for project delivery, while allowing the open source developer community to benefit from every incremental improvement we make.

We will measure the number of watchers, contributors, and forks of the repo to indicate whether external developers are engaging with the open source libraries.

We will also measure participation in dry runs of new features on the Catalyst continuous testnet over the lifecycle of the project.

Milestone 2: Architectural Updates to Registrations to support multiple roles & Initial Deployment of Proposal Submission to Testnet

Delivery Time: Approx. 2 Months

Cost: ₳150,000

Acceptance criteria: The second milestone will unlock a permissionless authorization framework that will allow users to interact with the platform without sharing personally identifiable information like email. Access control and user accounts will be tied to on-chain registrations, submitted from the platform and written to mainnet.

Decentralized access control will allow us to provide rich experiences to users, while upholding Web3 values like self-sovereignty and data privacy. On-chain registrations help promote accountability and auditability across roles, while laying foundations for reputation.

We will need to collaborate with the Cardano community to approve and implement CIP changes, and we aim to get the support of at least 3 external contributors before initiating the CIP process.

Working frontend implementation for proposal submission and commenting, will be delivered to testnet as soon as viable, and will continue to be refined over the course of the project. Production readiness for the proposal module will come in future milestones, as backend enablers and integrations are completed.

Milestone 3: Backend and Wallet Integration Updates

Delivery Time: Approx. 3 Months

Cost: ₳189,000

Acceptance criteria: The third milestone will deliver wallet connect functionality that will allow users to interface with the platform, as well as backend enablers to support subsequent milestones.

This will eliminate the need for users to take any action inside a wallet, allowing them to stay inside the unified platform across the entire registration process.

We aim to have at least 3 community wallets supporting the latest changes.

Milestone 4: Voting & Delegation

Delivery Time: Approx. 3 Months

Cost: ₳200,000

Acceptance criteria: The fourth milestone will offer an end-to-end experience for voters and representatives. Starting with a connected wallet, users will have the ability to register as an active voter / representative, delegate voting power to a representative, browse proposals, cast votes, and view voter / representative rewards.

This will eliminate the need for users to take any action outside the platform related to delegating voting power, browsing finalized proposals, and casting encrypted votes to the blockchain.

We plan to conduct at least 3 preprod voting events with 50+ participants in each to collect and incorporate community feedback.

Milestone 5: Proposal Submission & Commentary - in Production

Delivery Time: Approx. 3 Months

Cost: ₳226,000

Acceptance criteria: The fifth and final milestone will bring feature-completeness in the form of an Ideascale replacement for proposal submission - that adds new privacy, collaboration, and accountability features. Users will be able to register as a proposer, create new public OR encrypted drafts, collaborate with co-proposers, and submit finalized proposals for voting.

This will eliminate the need for users to interact with a separate interface for proposal submissions, further consolidating the experience.

We will pilot the new proposal submission experience with at least 25 proposers to collect and incorporate community feedback.

Please describe the deliverables, outputs and intended outcomes of each milestone.

To achieve our goals, we have outlined the following roadmap:

Milestone 1: Open Source Setup

To meet and exceed the Open Source requirements required of Catalyst Systems Improvements, the first milestone will deliver a fully open source public repository for the Catalyst Voices project. We will also allocate time to defining and implementing a continuous testing framework with the community that will be carried concurrently throughout the delivery process. This is particularly relevant to completion of Milestones 4 and 5.

Deliverables: Apache2 and MIT Licensed GIT Repository for the Catalyst Voices application; and minimally functional version of voting module deployed to testnet

This milestone is foundational development infrastructure work. It is necessary to ensure that licenses are appropriately applied, and that the development work can proceed smoothly from a solid foundation. It includes:

  1. Integrated and automated Unit Testing of code.
  2. Integrated and automated Publishing of documentation.
  3. The correct license files are present and referenced in the documentation.
  4. Documentation detailing how to build the application locally.
  5. Facilities for the public to comment or query on the work undertaken in the repository.
  6. Initial skeleton implementations of each application will form the foundation for future work.
  7. Deploy minimally functional voting module to testnet for refinement over course of project
  8. Define, socialize, and implement best practices for continuous community testing of latest features during recurring 2-week mock voting cycles, that will continue through the entire lifecycle of project delivery.

We will apply the appropriate licenses to all code and documentation from the project's inception. We will conduct all development in public. We will set up Full Continuous Integration and Deployment into our testing environments and deliver each milestone as community-operable and reproducible tagged releases.

The initial version of Catalyst Voices will be functional but minimal to capture the basis from which we will apply iterations for all future work. Voters, representatives, and proposers will have a single end-to-end home to complete required activities, but future refinements will be needed to optimize the experience and incorporate tools that maximize quality of activities completed.

Milestone 2: Architectural Updates to Registrations to support multiple roles & Testnet deployment of Proposal Submission

This milestone includes preliminary standardization which is necessary to deliver the later milestones. The process incorporates both public feedback with the Catalyst Community and with the CIP Editors. Parts of this milestone can not be completed until the earlier standardization efforts are sufficiently advanced to eliminate unnecessary and costly re-work.

Deliverables include updated versions of CIP36 and CIP62 required to support role-based registrations, as well as snapshot tool improvements to support the changes to CIPs; minimally functional version of proposal module deployed to testnet

2.1 Updated CIP-36 on-chain registration to support DApp specific roles.

  1. Enhance CIP-36 for Catalyst to support the following minimum roles:
  2. Voters
  3. Representatives
  4. Voters Delegating to Representatives
  5. Proposers
  6. Co-Proposers
  7. Reviewers
  8. Ensure flexibility to define other roles without future CIP-36 Update
  9. Ensure capability to be used by other dApps without conflicting with Catalyst Registrations.
  10. Prepare the CIP-36 Documentation Updates.
  11. Create a reference implementation and test vectors that produce correct data matching the CIP update.
  12. Publish and seek community feedback and input on changes proposed.
  13. Incorporate necessary changes based on feedback.
  14. Submit changes upstream to the CIP editors for review and inclusion as an official CIP.
  15. Includes the work entailed to steward the CIP update through the CIP Process.
  16. Deploy minimally functional proposal module to testnet for refinement over course of project

2.2 Updated CIP-62 to support the CIP-36 changes:

  1. The Draft CIP-62 is updated to:
  2. Enhance Voter registration to be able to properly process the changes defined in the CIP-36 draft. (This is necessary to support permissionless authorization and to ensure data submitted is authoritative.)
  3. Facilitate the ability to sign data securely with both Software and hardware.
  4. Enhance Vote Signing to use the correct keys for Representatives or Voters.
  5. Prepare the CIP-36 Documentation Updates
  6. Produce a Mock Development Wallet which provides a reference implementation of the Changes introduced in this update.
  7. Publish and seek community feedback and input on changes proposed.
  8. Incorporate necessary changes based on feedback.
  9. Submit changes upstream to the CIP editors for review and inclusion as an official CIP.
  10. Includes the work entailed to steward the CIP update through the CIP Process.

2.3 Snapshot Tooling enhancements:

  1. Capture the different roles defined by catalyst.
  2. Calculate Voting Power or other Role specific requirements at snapshot time.
  3. Properly handle multiple snapshot deadlines for different roles.
  4. Import the role registrations on a periodic basis into the Catalyst Backend Database.

Milestone 3: Backend and Wallet Integration Updates

Deliverables will include updates to Catalyst Core backend to support role-based registrations and wallet-connect capabilities for the browser-based application. More detailed deliverables are as follows:

3.1 Enhance the Catalyst Core backend Database:

  1. Add support for:
  2. Capturing all defined roles.
  3. Recording Earned Rewards and Payment information for each registration.
  4. Define Parameters for each registrations snapshot and deadline.
  5. Allows each role to have a different set of minimum requirements.
  6. Allows the deadline for different roles to occur at different times relative to the Fund Cycle.
  7. Update the cat-data-service to:
  8. Incorporate the new data into existing or new endpoints.
  9. Must ensure that each role registration type can be accurately checked by external tooling.
  10. Provide endpoints to enable permissionless authorization of front end applications for defined role registrations.
  11. Provide endpoints to return any detected errors with Role Registrations, and a users registration history.
  12. Documented Public Open API Definition for cat-data-service.
  13. Automated Test Cases running in CI.

3.2 Browser Code Updates to interface to the Wallet:

This is a necessary component of the full UI implementation and will be used extensively, but it will be produced as a stand alone module so that other DApps written in Flutter/Dart can simply re-use the library to access CIP Conformant bindings and interface to all compatible wallets.

  1. Features to Include:
  2. Full Support for CIP-30 functions.
  3. Full Support for CIP-36 Registrations as defined by the updated CIP-36.
  4. Full Support for all CIP-62 Interfaces. This will enable:
  5. Registering for a Role, and submitting on-chain.
  6. Signing Data by a user's registered role keys.
  7. Performing the dApp integration to CIP-30 and CIP-62 to enable permissionless auth to the backend.
  8. Documented Public API Definition
  9. Automated Test Cases running in CI.

Milestone 4: Voting & Delegation - Production Readiness

Deliverables will include front and backend changes to support registration, voting, and delegation, including rewriting of code from the existing Voting Center into the target Flutter framework. Also included in this milestone will be backend changes required to support the proposal submission module delivered in Milestone 5.

4.1 First Front End Module of the Catalyst Voices UI:

This module will start development in an earlier milestone but due to the dependencies on CIP finalization and Backend plus Wallet integration can not be delivered until those components are finalized and delivered.

Redevelopment of the Voting Center Front End to enable integration to the updates role registrations and to allow seamless upgrade to incorporate further modules as they are developed. Flutter is being used so that this code base can be used to build Native, Mobile and Browser based applications. However only Browser will be initially delivered as there is no current standard for Cardano Wallet integration for Native or Mobile based DApps.

4.2 The UI to include the following features:

  1. Connect to wallets available in the Browser Session.
  2. If no wallet is available, provide helpful guidance to instructions on how to find compatible wallets.
  3. Determine and Display a User's current Role registrations, and Voting Power.
  4. Allow a User to Register or update a Role Registration through the wallet.
  5. Display the details of the Current Fund, including timeline.
  6. Allow the user to register as a Voter.
  7. Allow a Voter to Register as a Representative.
  8. Display to a Voter the Registered Representatives.
  9. Allow a Voter to Delegate their Voting Power to one or more Representatives and apportion their voting power.
  10. Allow a Representative to Deregister.
  11. Show a Representative the status of their Voting Power and the Voters they represent.
  12. Allow a Voter to reclaim their voting power from Representatives.
  13. Allow a Voter to Deregister.
  14. Show the Voter the effect of their Delegation, is it valid and the voting power assigned to their Representatives.
  15. Allow a Representative to add “Extra” authoritative data to either their registration on-chain or to the Catalyst Backend, to provide additional context to delegators.
  16. Data MUST be signed by the Representatives Wallet with their representatives key.
  17. Show the Voter details about the Representative.
  18. Recording Earned Rewards and Payment information for each registration.
  19. Warn a Voter if their current registration can not earn rewards and guide them to correct it.
  20. Define Parameters for each registration snapshot and deadline.
  21. Allows each role to have a different set of deadlines or minimum staked ada.
  22. Show a Voter their registration history, including any detected errors or issues in their registration.
  23. Show each Category or Challenge in a Fund and display full details about the Challenge, including its budget and a summary of the Proposals made for it.
  24. Show all Proposals currently made for a Challenge.
  25. Show the voter when voting opens and when it ends for a fund.
  26. When voting opens, allow a voter to choose proposals to vote on.
  27. Votes for Proposals are signed by the wallet, and submitted to Catalyst when the voter confirms them.
  28. Display Proposals the Voter has already Voted on, and do not allow re-voting on the same proposals.
  29. Provide Search functions to allow Proposals to be easily found, sorted and filtered

4.3 Update Catalyst Database Schema to support Proposal Submission:

  1. Add Proposal Definition data per Fund Challenge or Category.
  2. An Event will be able to define the format of the Proposals which can be placed on the Events Objective.
  3. Each Challenge or Category will be able to support a different Proposal Format.
  4. Proposal Format will be defined by JSON Schema to enable easy Proposal validation, reuse and Front End integration.
  5. Enhance individual Proposal Data to allow us to store proposals submitted from catalyst voices.
  6. Proposals need to be in at least a Private and Published state, as well as Draft and Final.
  7. Draft Proposals will be stored as time sorted revisions, so that older proposal versions can be retrieved by the proposal author/s to enhance editing experience.
  8. Add to the DB schema to allow the storage of comments on proposals which must be signed by a voter or representative making the comment.
  9. Comments need to be time ordered.
  10. Comments can be deleted, but they are only marked as deleted in the backend until the end of the Fund which allows a Commenter to undelete their comment if desired.

4.4 Update Catalyst Database Service API to support Proposal Submission:

This is completed in this Milestone to enable the work of the next milestone to be completed efficiently.

  1. Retrieve list of registered proposers and co-proposers.
  2. Retrieve my proposer registration and all co-proposer registrations I am a part of. (Even if they are not fully executed yet).
  3. Retrieve the proposal schema for an event challenge.
  4. Submit proposals either as a co-proposer, or individual proposer. (Authoritative signed data with Proposer keys)
  5. Update proposal state to Private/Public or Draft/Final.
  6. Private proposals are encrypted in the backend by our private/public data protection key.
  7. Retrieve draft proposals/final proposals for this proposer. (Authorisation proved by Proposer Keys)
  8. Decrypt private proposals ONLY when returned to an authorized proposer.
  9. Co-Proposers need a full and valid co-proposer registration to retrieve proposals.
  10. Retrieve final proposals for anyone.
  11. Submit Proposal Comments as a Voter, Representative or Proposer (auth, proposer can only comment on their own proposals/co-proposals).
  12. Edit Proposal Comment (Re-submit and replace old comment).
  13. Deleted Comment is not displayed or returned by the API, but is retained until the end of the Fund.
  14. Retrieve Comments for a Proposal.

Milestone 5: Proposal Submission & Commentary - Production Readiness

Deliverables are a production-ready user interface for submitting proposals, effectively replacing Ideascale with the capabilities of collaborating on and editing proposals with co-proposers, and submitting comments and reviews on proposals.

5.1 Proposal Submission and Commentary - Front End

  1. An Interface to register as a proposer.
  2. Add capability to authorize as a proposer (API Authorization) to access protected backend resources.
  3. Functionality to create a new set of co-proposers (choose from currently registered proposers).
  4. Functionality to search for, join and leave a created set of co-proposers.
  5. Co-Proposers are only valid once all participants have registered their membership in the group.
  6. Every Proposer has an individual proposer registration.
  7. Every Proposer can belong to multiple groups of co-proposers.
  8. Read proposal format from the backend, for a challenge in the voting event, and format it for data entry.
  9. Uses json schema.
  10. The Front End interprets the json schema to produce an editable json document, which can be validated.
  11. This allows the Proposal Format to change between Catalyst Funds or even on different Challenges, and for validation to be properly built into the application.
  12. Eliminates the need to customize the application when rules change.
  13. Retrieve a proposal revise, edit it, and submit it:
  14. Submit a proposal as either a Public or Private Proposal, and either Draft or Final.
  15. Must sign each submission with the proposers key.
  16. Co-Proposers must submit individually signed copies of a Draft Proposal before it can be made Final.
  17. As a voter, retrieve all published proposals for a particular event/objective, and their state (Draft or Final).
  18. Proposals that are Final before the Proposal Submission Deadline are included in the current fund. All other proposals remain and are able to be submitted in a subsequent fund if they become Final.
  19. As a voter, post a comment (signed by the voter) on a challenge in the latest fund.
  20. Voters can also Edit or Delete a previously made comment.
  21. Retrieve all comments made by the voter in the Fund.
  22. As a proposer, comment on any of your proposals (allows Proposers to identifiably reply to a voters comment).
  23. In the voting interface, allow display of full proposal data, including the comments.

Please provide a detailed budget breakdown of the proposed work and resources.

The requested total budget for developing this first iteration of Catalyst Voices as a functional replacement for Ideascale, the existing mobile application, and wallet interface for registration is 840,000 ADA. This is a 12 Month project.

Fund 11 Period : Open Source Activation ₳75,000

Fund 11 Period : Voices Architectural Changes, ₳150,000

Fund 12 Period : Backend & Wallet Integration ₳189,000

Fund 13 Period : Voting & Delegation Implementation ₳200,000

Fund 13 Period : Voices First Release -

Proposal Process Implementation ₳226,000

Total: ₳840,000

To deliver this work we require a small team of rust backend developers, QA engineers, front end developers, site reliability engineers and UI designers.

This is a moderately complex proposal due to the development of fully decentralized role based access control to replace the Web2 authorizations and user management required by Ideascale and other typical systems. It will also require throughout the entire project, Architectural Design to work on and refine the proposed CIPs and other technical aspects of the system, Engineering Management to keep the project on track, and Product Management that the final product delights and empowers users across the community.

This project will also require regular updates to the community and high levels of community engagement to properly respond to and evaluate feedback or queries we are receiving. Especially as it relates to refining and finalizing the CIPs necessary to underpin the operation of this Project, which will also be critical work underpinning future work both in Catalyst Voices and in future work envisioned for the “Athena” distributed Project Catalyst which we ultimately desire to have all the functionality proposed here.

We will also be building and deploying test versions of Catalyst Voices continuously to our internal test deployments, and these will be publicly accessible. This is to allow the community to easily see what state the development is in and the available functionality without needing to run the system themselves. We want to allow the greatest number of Project Catalyst community members to track our progress as possible.

Who is in the project team and what are their roles?

The Catalyst Team has 21 core members, who can also utilize, as necessary, resources across IOG, allowing the Catalyst Team to dynamically increase or scale back its resource capacity when needed to leverage UI/UX design research, full-stack development, technical and cryptographic research, and product marketing as required.

In combination, the Catalyst leadership and core team have 400+ years of deep technical expertise that enable Cardano to benefit from Catalyst’s decentralized innovation funding programme and innovative voting system. The organizational structure is cross-functional and multidisciplinary in nature, represented across two core teams: Catalyst Core and Fund Administration as illustrated in the following Organizational Chart.

Image file

To deliver this project, the majority of resources will be drawn from the Catalyst Core team resources and Catalyst team leadership.

Project Leadership:

Vice President, Governance: Nigel Hemsley

Linkedin: linkedin.com/in/nigel-hemsley-433a213

Nigel led the delivery of five Cardano hard-forks since Allegra, including Alonzo smart contracts and further improvements with Vasil. Nigel has been an integral member of the Cardano Ecosystem having advised across many individual elements from product strategy of the Djed stablecoin to supporting community members to build NFT DApps. Nigel now leads Voltaire which puts him into a unique position to support and oversee Catalyst. Nigel built up his expertise on distributed networks initially in the Reinsurance industry building the first grid-computing solutions for the Risk Models of Lloyd's of London and Swiss Re.

Group Lead: Kriss Baird

Linkedin: linkedin.com/in/krissbaird

Kriss joined the Catalyst team in April 2021 as the first Product Owner. He has played a pivotal role in introducing new features and enhancements to the Catalyst system including privacy-preserving voting, project accountability management, Catalyst natives experiments, ProjectCatalyst.io, proof of achievement and milestone-based funding, and upgrading the Community Review process. Kriss is principally responsible for overseeing Catalyst's services. He has been involved in Cardano since 2017 and is deeply passionate about this disruptive startup ecosystem. With over a decade of innovation management experience, Kriss has a background in design thinking and delivering national-scale startup funding programs. He previously worked at Innovate UK, the UK Government's innovation agency, leading 25 iterations of the IC tomorrow digital innovation competition and funding hundreds of startups to develop and trial digital prototypes with leaders such as Google Chrome, Samsung, Sony, IBM Watson, McLaren, Intel, Universal Music Group, Unilever, Mozilla and more. Kriss has also held roles as a program manager for Ufi VocTech Trust's social impact digital innovation grant program, lead at University College London's EDUCATE EdTech Accelerator, and innovation expert-in-residence at Imperial College London.

IC tomorrow: Impact evaluation for UKRI

Ufi VocTech Trust

Lead Architect: Steven Johnson

Linkedin: linkedin.com/in/steven-johnson-26bb28104

Github: https://github.com/stevenj

Steven has been the Lead Architect for Project Catalyst since joining the project in 2022. He has been a Software Engineer since the late 80’s, Architecting both hardware and software systems since the early 90’s. Steven led the systems architecture of a number of large scale projects in the Gaming and Wagering industry including casino wide monitoring systems, jackpot systems, financial auditing systems, LED display Systems and Privacy preserving routers. He designed systems delivered to Conrad Casinos, IGT, Jupiters Limited, Queensland TAB, Max Gaming, Mikohn Gaming and others in Australia, USA and Canada. Steven has a wide range of expertise as diverse as embedded hardware, communications systems, real time OS, Kernel development, Virtual Machines, Applied cryptography and Blockchain technology. He founded several successful companies and holds Patents in Time based statistical methods for Jackpot prize awarding in the USA, Australia, UK and other territories. His diverse set of interests led him to contribute to a number of Open Source projects include such projects as GDB and the ZFS File system.

Technology Lead: Sasha Prokhorenko

Linkedin: linkedin.com/in/minikin

GitHub: <https://github.com/minikin>

Sasha has been leading software development at Catalyst since joining in 2022. He is a skilled Software Engineering Lead, with over ten years of experience building software products for clients including PepsiCo, Liberty Global, and Philip Morris International. Sasha has proven expertise in multiple programming languages and frameworks and has successfully led cross-functional teams through all stages of the software development process. He embraces continuous improvement and innovation.

Product Owner (Catalyst Core): Mike McNulty

Linkedin: https://www.linkedin.com/in/michaelpmcnulty/

Mike joined the Catalyst team in September 2021 as Product Owner for Catalyst Core. He has played a key role in implementing new features like continuous snapshot, dreps / delegation, and various incentives upgrades, while refining the voting experience based on user feedback. Mike’s deep roots in the Cardano community have led him to champion community-first initiatives, such as end-to-end auditability and the Catalyst Continuous Testnet, helping promote decentralization and accelerating community development efforts. He is passionate about distributed collaboration and digital self-sovereignty, and he sees Catalyst as a testing ground for tools that can help solve coordination problems at a global scale. Prior to joining the IOG Catalyst team, Mike was an active contributor in the Catalyst community, leading the first-ever community retrospective, and helping grow some of the earliest sub-communities. Before that, he served Fortune 100 clients in the financial services sector as a management consultant at Accenture. In that role, he helped lead large digital transformations to optimize enterprise workflows at scale, as well as small experimental pilots to improve agent work quality and efficiency using ML/AI-based decision-assist tools.

How does the cost of the project represent value for money for the Cardano ecosystem?

This proposal will realize both near-term value by improving the experience for Catalyst users, as well as long-term value for Cardano by improving the quality and depth of community engagement and dialogue with proposers, that in turn helps to produce higher quality proposals and in turn better outcomes with a more informed voting populace about funding decisions to be made, generated by a unified and seamless experience.

Our team is positioned to realize that value with minimal risk due to established expertise, validated solutions to hard problems, and prior research and discovery efforts. Continuous testing and established community feedback channels give further assurances that the finished product will meet the requirements and empower users. Fully open-source development provides another value, and enhances project accountability and feedback.

We expect to see compounding benefits over time as community contributors leverage our open-source foundations to either add new capabilities to the existing platform, or create entirely new interfaces to the Catalyst backend based on our reference implementation.

Continued refinement in collaboration with the community will best support the evolving needs of Catalyst. We will design and develop the platform in such a way as to support the integration of new modules whether they are developed by external contributors or internally, broadening opportunities for independent experimentation and entrepreneurship.

Improvements will benefit from system-wide solutions implemented with this proposal, for instance, on-chain role registrations and decentralized user authentication, without requiring additional development. Robust user profiles or reputation systems may be built on top of role registrations. The same role-based access control and reputation systems may even be applied outside of Catalyst, similar to how the same OAuth standard is widely used across organizations and applications today.

The outcomes of this proposal will also extend the role-based access control to all future roles in Catalyst without requiring additional CIP changes or other heavy community-wide coordination.

Ultimately, this proposal offers significant value relative to the funds requested. With open-source foundations for a collaboratively built, operated, and maintained community platform that can be both replicated and extended by contributors outside of IOG.

To start, we’d like to eliminate context switching between apps, establish always-on pathways for meaningful participation, and greatly reduce the cognitive load of managing and engaging with complex processes.

With your permission, we’d like to co-build the future alongside you.

We hope you’ll consider voting for and approving the funding of Catalyst Voices.

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00