Arbitrum Proposals App (GovHack Brussels Winner)

We just got a smaller questbook grant approved to build this same scope of functionality over the next 4 months for a total of 43,000.00 USD. We will use this thread to record the progress of it and to report on the project milestones. Thank you :pray:

Arbitrum Proposals App

Non-Constitutional

Challenge Statement:
Right now, DAO delegates want to understand proposals efficiently and accurately, but proposal information is scattered all over the place (tweets, Discord servers, Telegram chats, discourse posts, offchain proposals [on snapshot], onchain proposals [on tally], etc.). This is a serious issue because it leads to unnecessary friction and inaccessibility in governance participation and, ultimately, poor decision-making for the Arbitrum DAO.

Track Name at GovHack Brussels: GovTech
Team Number at GovHack Brussels: 16

Members: andreiv.eth + paulofonseca.eth

Team Lead: Paulo Fonseca – @paulofonseca1987 on Telegram or @paulofonseca__ on Twitter

2 minute Pitch: Posted on Youtube
Low Fidelity Design Prototype: (this is unfinished and in-progress work, since it was started during the GovHack itself) arbitrum.proposals.app

Abstract

To fund the design and development of an Arbitrum-focused responsive web app that shows all Arbitrum proposals across different stages in their lifecycle and aggregates information from Discourse, Snapshot, and the Arbitrum Onchain Governor contracts so that voters and delegates can more efficiently and accurately understand the context and the whole lifecycle of each proposal they should be voting on.

Motivation

The current governance state-of-the-art is quite messy. This is not just an Arbitrum DAO problem but it affects Arbitrum DAO governance quite a lot. Still to this day, most governance processes in most big DAOs are spread across multiple platforms and systems, from messaging apps like Discord, Telegram and Twitter, to Discourse forums, to offchain voting platforms like Snapshot and then to onchain voting front-ends like Tally.

In each of these platforms, delegates need to keep themselves up to date, review information about proposals coming to vote in the DAO and form their opinions about whether they should support a particular proposal. Delegates are also expected to actively share their concerns and provide feedback on proposals throughout the lifecycle of a proposal so that the proposal can advance through the several stages of the governance process successfully.

For a delegate, even to the most competent ones, to keep up with all of this information scattered around different sources is… overwhelming, to say the least. :melting_face:

As an example, this is roughly what happens when a delegate (or anybody else for that matter) tries to understand the context and form an opinion about an important Arbitrum proposal like the Gaming Catalyst Program that just recently passed.

How are we even governing ourselves like this?
Full video can be seen here.

If we expect more and better delegates to keep up with governance proposals adequately, we should invest in appropriate tooling to make their jobs much easier than they currently are.

Rationale

This proposal aligns with Arbitrum’s mission and community values by making the Arbitrum DAO more innovative, open, accessible, and inclusive to delegates and voters by allowing them another choice as users of Arbitrum’s DAO governance.
More specifically, the last community value in The Amended Constitution of the Arbitrum DAO, but to us, one of the most important community values, the one of attempting to be:

Neutral and open: Arbitrum governance should not pick winners and losers, but should foster open innovation, interoperation, user choice, and healthy competition on Arbitrum chains.

We know Tally has a great partnership with the Arbitrum DAO, and we are grateful for all the work the Tally team has done over more than a year to support the governance of Arbitrum DAO. We support their developments and future roadmap and are open to collaborating in any way to improve the user experience of delegates and voters in their day-to-day.

We also believe it is important for the Arbitrum DAO not to be vendor-locked in. More specifically, on the front end it offers its delegates and voters that allows them to participate in Arbitrum DAO’s onchain governance.

We believe there should be multiple front-ends to Arbitrum DAO’s onchain governance, so that we can attract more and better delegates and voters by providing them tools that suit their particular needs.

We also strongly believe that at least one of those front-ends should be fully open-source. For the obvious matters of the resilience of Arbitrum’s DAO governance, we believe there should be a fully open-source front-end for Arbitrum’s DAO on-chain governance that would allow delegates and voters to continue to participate in governance permissionlessly. proposals.app is fully open source and will continue to be. proposals.app and its future developments can also be self-hosted by anyone (like we’re doing now) under a new domain name, at any time.

Specifications

How might we enable DAO delegates, to get a more complete picture of how a proposal has evolved and what other people think about it, so that they can make a more informed voting decision, resulting in higher quality governance outcomes for the DAO?

This guiding question and a bunch of conversations and user research with DAO Delegates both in GovHack and previously when we were building Senate, has led us to believe that there is a need for a unified view of a canonical DAO proposal page that covers the whole proposal lifecycle, or at the very least, from the “initial Discourse forum post” stage to the “onchain execution” stage, obviously including temperature check poll on Snapshot, and onchain voting.

At proposals.app we already fetch Arbitrum’s DAO offchain and onchain proposals, and we also offer free email notifications to anybody that subscribes on the site. Everytime there is a new Arbitrum DAO proposal available, delegates and voters that have subscribed to proposals.app notifications, will get a fresh email in their inbox that looks like this.
proposals.app daily bulletin email notification

Currently, we are linking each offchain or onchain proposal to their respective Snapshot.org or Tally.xyz links so delegates and voters can easily exercise their governance rights.

With this project we will build a Unified Proposal Lifecycle page, that merges the information of offchain and onchain votes for the same proposal, so that delegates and voters can have easier access to all of the information of a proposal in a single place.

This Unified Proposal Lifecycle page will show information from the proposal’s Discourse post, from the Snapshot temperature check poll, and from the onchain vote.

The challenge to be able to achieve this is to include all relevant information in the right way, at the right time, so delegates and voters don’t feel overwhelmed by it.

We’ve been mapping the proposal elements across several platforms and feel confident we have a model that captures a proposal standard that is able to show the proposal lifecycle and how the proposal has evolved, and that will help delegates and voters get more transparency into the journey of a proposal and the context it’s current or final state.

mindmap

We will need to also manually map the discourse posts to the Snapshot polls and then to the onchain votes. Which is something that is not trivial to do for all past Arbitrum DAO’s proposals, but we will create a backoffice where a governance analyst can links all data sources of a proposal, to be shown in the Unified Proposal Lifecycle page.

Steps to Implement

We have a 2 part plan for this project:

  1. Design and Develop V1 of the Unified Proposal Lifecycle Page, which will include data and the mapping between Snapshot proposal data and Onchain proposal data.
  2. Design and Develop the V2 of the Unified Proposal Lifecycle Page that would add Discourse Post data.

Alongside this main plan, we need to create a mechanism to map discourse posts to Snapshot polls and then to onchain votes, so that eventually that mapping doesn’t need to be done manually for every proposal.

We are talking to @amanwithwings to move forward a daoURI standard in the Arbitrum DAO that could be extended so that Arbitrum DAO onchain proposals would include the link to their Discourse post in the onchain proposal metadata.
Once that standard would be adopted by the Arbitrum DAO, we would be able to automate the mapping of data for a single proposal. Until then, we will do it manually and very deliberately. :nerd_face:

Timeline

We will deliver the complete solution described above within a maximum of four months of the project’s kick-off.

The project kick-off is on October 15th, 2024, and we commit to deliver the completed project with all it’s Milestones and deliverables by February 14th, 2025.

Milestone #1

Deadline: 30 days after project kick-off
Deliverables: Create the back-end discourse indexing system and mapping backoffice to map discourse data to snapshot and onchain proposals + Setup of self-hosted infrastructure with a real-time status page monitoring

Milestone #2

Deadline: 60 days after project kick-off, 30 days after Milestone #1
Deliverables: Interactive Design Prototype Deliverable

Milestone #3

Deadline: 90 days after project kick-off, 30 days after Milestone #2
Deliverables: Development of a responsive Unified Proposal Lifecycle webpage

Milestone #4

Deadline: 120 days after project kick-off, 30 days after Milestone #3
Deliverables: Testing, Quality Assurance and Data Validation of all past proposals data

After completing the project, we commit to maintaining and ensuring the resilient hosting of the web app for at least 24 months from the project kick-off date.

Overall Cost

The overall cost for this 4 month long project totals $43,000 USD

Monthly Amount Duration Total Amount
Designer $5,000 USD 3 months $15,000 USD
Developer $5,000 USD 3 months $15,000 USD
Governance Analyst $1,000 USD 1 month $1,000 USD
Servers and Hosting $500 USD 24 months $12,000 USD

During these four months, we will ship 4 deliverables, the first at Milestone #1 at the 30 day mark, the second at Milestone #2 at the 60 day mark, the third at Milestone #3 at the 90 day mark and the fourth at Milestone #4 at the 120 day mark.

The kick-off stage marks the beginning of the project after a successful acceptance of the questbook grant.

We believe in performance-based compensation, so we will only be compensated upon value delivery after successfully delivering each of the Milestones.

Payment schedule

Kick-off Milestone #1 Milestone #2 Milestone #3 Milestone #4
Deadline Day 1 Day 30 Day 60 Day 90 Day 120
Payment $0 USD $10,000 USD $15,000 USD $15,000 USD $3,000 USD

For the multisig, we will use a Gnosis Safe multisig on Arbitrum One which has andreiv.eth and paulofonseca.eth as signers. From that multisig, all contributors and expenses will be paid at our discretion, but still fully transparently and, of course, onchain. :sunglasses:

:pray:
Thank you for reading this proposal until the end, and please give us your honest and harshest feedback. We know we need it, and we truly welcome it! :innocent:

Also, special thanks to @DisruptionJoe, @hiringdevs.eth, @cliffton.eth, @JoJo and anybody else who provided valuable feedback on this proposal during GovHack Brussels and afterwards!
:raised_hands:

10 Likes

Excited to share our team’s proposal! We believe this initiative will address a significant pain point in DAO governance by consolidating fragmented proposal information into a unified, open source and resilient platform.

Let’s make governance more accessible and effective together!

2 Likes

Figma shows its edited 7 days ago idk if it’s bug or something but are you sure about it was done in govhack?

2 Likes

thank you for the diligence @ismailemin =)

I’m not really sure why the figma prototype embed component says 7 days ago… This file exists for months now… but this part of the file however, with the prototype for the Unified Proposal Lifecycle page proposal, was created last night… actually I was just editing it before I saw your comment.

You can see the whole file here, and you can also comment on it, with your feedback: https://www.figma.com/design/8c9gLo0ICTAhGMatRi3qU4/proposals.app?node-id=67-470&t=JB5d7ngDfckKvfh2-1

And as you can see from the figma file version history, this 2 frames were made from July 6th at 9:13AM (Brussels time I guess?) to today, July 7th, at 1:18PM

figma file version history

Great job folks! Really feel the pain of having to track everything from everywhere.

Vendor lock in is also real and something that bothers me despite being CEO of Tally.xyz. I’d love to see a world where Arbitrum owned it’s instance of Tally so that it wasn’t vendor lock in at all.

In the meantime, I think initiatives like this are super important!

4 Likes

thank you for the public support @dennison :pray:
it means a lot coming from you!

3 Likes

Congrats all, solid progress against real pain-points; hoping to see this come alive soon!

3 Likes

thank you @emjicy =) it will come alive soon!

Just did a livestream figuring out the information architecture for a aggregated proposal lifecycle page, that would show the info of a proposal from the discourse forum, to the snapshot temp check poll, to the onchain vote.

I mapped the pages from Tally, Aragon (old and new), and Snapshot, to have a diversity of inputs in this work so that I can understand what different product have deemed important when presenting the information of a DAO proposal.

You can browse and comment in the FigJam file that I created during this session, and if you have the patience for it, you can also watch the 3 hour long live stream (it was my first ever =).

I’ll do a following session soon.

2 Likes

Hey Paulo and team,

Just wanted to say awesome job on the Arbitrum Proposals App. The idea of consolidating governance info in a nicely formatted and clean way for delegates to navigate is super important. Also, the plan to map the proposal lifecycle and make everything accessible in one place is spot on.

We’re close to releasing something similar at Open Dollar, apparently great minds think alike! We just teased it on our Twitter: x.com

Looking forward to seeing your project in action. Keep up the great work!

1 Like

@Bau thank you for the support! =) the fork feature you are doing is… chef’s kiss! =)

2 Likes

Hello all!

I just updated this proposal with a few more details.

We want to have this proposal on temperature check on Snapshop next Tuesday July 23rd.

Please provide your feedback soon!

Thank you!
:pray:

Updated the proposal with new timelines, we are now aiming to get this proposal into temperature check vote on Snapshot next Thursday, 25th of July.

Hello!

Just a heads-up: Now we will start to follow a new schedule, with the first batch of snapshot votes targeted for August 1st. Tagging @Entropy for visibility

2 Likes

Hey @jameskbh!
Thank you for the heads up!
This latest update resulted from a conversation with @Pruitt from Entropy where we basically realized that pushing this proposal to snapshot on August 1st would delay this proposal a little bit too much as we want to have some feedback from the DAO as a temperature check as soon as possible, aka, this week. This proposal has been on the forum for more than 2 weeks now, so we think is reasonable to have it pushed to snapshot this week.

2 Likes

Hello! Thanks for your proposal.

It is a detailed presentation, I really liked the demo and I believe it is a useful tool. As this problem is not new, others are also trying to solve it. Can you highlight, for the sake of comparison, what differentiate your tool from syncvote, for example, so we can select yours instead of going through an RFP or something similar?

1 Like

Hey @jameskbh thank you for reading it through!

So, we don’t really think proposals.app is comparable to syncvote for example, but maybe more similar to lighthouse.cx or goverland.xyz, although both of these apps don’t show data for onchain proposals, and only show snapshot polls.

Currently, on proposals.app you can get daily email notifications for Arbitrum DAO offchain and onchain proposals, and also a custom email notification for when an onchain proposal is about to end and hasn’t met quorum yet. And if you add proposals.app as a shortcut app on your phone home screen, you will also get push notifications whenever there is a new proposal.

Also, proposals.app is the only platform of this kind, as far as we are aware, that is fully open-source, and therefor, if something were to happen to our team where we wouldn’t be able to maintain or continue the work on proposals.app, anybody else in the world could continue it, by forking our github repo and deploying their own instance. We believe this to be our fundamental difference, comparing to other players, since this forces us to work in the open and constantly designing and developing better functionality to support delegates and voters. This also makes our position to be more similar to a public good, and not a VC backed startup that needs to find a way to return value to their investors.

That’s why we believe that communities like Arbitrum DAO should fund our work, and that’s why we put forward this specific proposal.

Moving forward, what we are aiming for with this proposal is to design and develop a dedicated functionality for the Arbitrum DAO, that will live on arbitrum.proposals.app, that will aggregate the data for the whole lifecycle of every single Arbitrum DAO proposal, from the discussion in the forum, to the onchain execution. For this to be done successfully, it requires a mapping between forum post X, snapshot poll Y, and onchain proposal Z, that we will be doing retroactively for all past Arbitrum DAO proposals, and make sure to develop a system that can do that mapping for future Arbitrum DAO proposals as well.

If you have any further questions, please reach out!

Thank you once again for taking the time to go through our proposal!

1 Like

After a couple conversations with some delegates we are now aiming to post this proposal to snapshop next week, August 1st. For the next few days, we will be having conversations with delegates to get their feedback on this proposal.

If you want to get on a call, to talk about this proposal, please book here: cal.com/paulofonseca/sync

Thanks for the proposal @paulofonseca and congrats to the winning at GovHack Brussels!

You incorporated the hosting cost for 3 years, but what do you think about additional requirements and/or code upgrades based on external circumstances?

Thank you for your question @Tane and thank you for taking the time and care to read our proposal! =)

So answering your question, other than the hosting costs to keep the servers up and running, the overall maintenance that would be needed for the next 3 years, is if Arbitrum governance contracts change somehow and therefor we would need to update our indexers accordingly. For starters, that’s not very likely to happen, but if it does, we commit to update our app as soon as possible, because since we send daily notifications emails to our users, we need to have the correct data for the that next day email to be accurate.

Also, just as a reminder, our app is fully open-source on GitHub - proposals-app/proposalsapp

Thank you!

1 Like