Workstreams Community Update — July 2022

Hey everyone! Workstreams is Radicle’s upcoming product for managing contributor payouts and grants programmes with a unique token streaming solution built on Drips. Starting this month, I’m going to share monthly updates here, in parallel to the community call.

What’s new this month?

In July, we unblocked two major adoption blockers by rebuilding large parts of the UI to be fully responsive and bringing a unique take on Gnosis Safe support to the Workstreams web app.

Gnosis Safe Support

Workstreams has always used “Sign-in with Ethereum” (SIWE) in order to allow people to authenticate with the Workstreams API and use their web3-native ENS identities without having to create an explicit Workstreams account. Logging in with SIWE entails signing a login message using one’s Ethereum key, which is then validated server-side and used to generate a session token linked to the user’s Ethereum address. Using this session token, the client can subsequently perform various CRUD operations (e.g. creating or applying to a Workstream) without needing to sign a new message every time.

Integrating Gnosis Safe support presented a unique challenge however, because Gnosis Safes themselves do not hold a key that can be used to sign messages. Instead, the act of signing a message on-chain with a safe requires a full quorum — meaning that usually at least two people need to independently approve the signature in order for it to be processed. Because this is a (very) long-standing asynchronous process, it obviously isn’t viable to require a safe signature just to log in to the Workstreams app.

For that reason, we came up with a pattern that allows “linking” a Gnosis Safe that the currently logged-in address is an owner of to a previously-authenticated session, after which the user is essentially acting on behalf of their safe for non-critical, off-chain interactions throughout Workstreams. Additionally, the user is prompted to also connect the Workstreams app to their Gnosis Safe directly through the WalletConnect Safe App, so that on-chain transactions (such as topping up a workstream) can easily be proposed to the safe directly.

You can try this out on yourself with a Gnosis Safe on Mainnet or Rinkeby. Simply sign in with one of the owner wallets, and the login flow is going to automatically detect your safe and prompt you to connect it.

Mobile Support

The Workstreams app is finally fully responsive and looks great (enough) on mobile screens! Rather than “just” supporting narrow screen widths, we’ve also added a native-feeling bottom navigation with a draggable account menu sheet, which is pretty nifty. As part of this overhaul, a few views have received major UI touchups on all screen sizes. For example, the active workstream view now has a neat little streaming animation and improved application list.

Please try it out on, especially if you have an iPhone — super eager to get some feedback, as I wasn’t able to test this across all mobile platforms yet.

Updates on Product Strategy

Thanks to @nas, we were able to finally kick off our Grants Program Outreach, with the ultimate goal of distilling a strong product- and go-to-market strategy for Workstreams. So far, we’ve only talked to one DAO, but we’re hoping to pick up the pace shortly and get some much-needed insight into how DAOs currently pay their contributors. We’re not just looking for insights into grants programs, but also general core team payments, because we believe that Workstreams could support more than just grants.

Next month, we should be able to share the first results from this exercise.

Paris Offsite

Thanks a lot to @yorgos and @bordumb for the continuous discussions around Workstreams and sitting down with me in Paris. We’ve discussed a few general points around Workstreams and the different types of payout models one might want to apply, which has led to a lot of interesting and important ideas. We’re still hoping to be able to pay out the first Radicle grant using Workstreams in this group soon.

That’s it for this month — see you in August :wave:

You can find the community call slides for this update here.