Re-Public Voting
Listen Now
About This Episode
In this episode of DevNTell Keith Axline presents 'Re-Public Voting,' a governance application designed to optimize DAO decision-making through subject-matter-based proxy voting. Inspired by the concept of liquid democracy, Re-Public allows members to delegate their voting power to trusted experts within specific categories, such as software development or marketing. To prevent governance from becoming financialized, the platform utilizes non-transferable ERC-20 tokens to represent voting power. Keith demonstrates the system's architecture, including its integration with Discourse for proposal management and its flexible token minting models. The project is open-source and aims to solve the participation bottlenecks common in decentralized organizations by fostering expert-led working groups while maintaining member control over delegation.
Key Takeaways
Re-Public implement a liquid democracy model where voting power is delegated based on subject-matter expertise.
The platform uses non-transferable ERC-20 tokens to ensure that voting power is earned through contribution and trust rather than purchased.
Delegation can be granular, allowing users to trust different experts for different domains (e.g., one person for tech, another for finance).
Integration with Discourse allows community discussions and tags to automatically populate and parameterize governance proposals.
The project is open-source and built on Next.js, with a back-end using the Parse platform for efficient database management.
Featured Guest
Keith Axline
Founder @ Re-Public Voting
Episode Transcript
Read full transcriptHide transcript
GM, GA, GE, everybody. Welcome to what's going to be another great DevNTell. So if you didn't know, DevNTell is a 30-minute window for members of the DAO to showcase something they are passionate about or been working on. This could be an awesome project you've been working on, demonstrating and testing best practices, automation goodies, smart contracts, how to structure a project, etc. Basically, if you've got a passion for something, this is your opportunity to share it with the community. Today, I am happy to introduce to you Keith, who will be showing us his project Re-Public. Take it away, Keith.
All right, yeah, thanks. Been to a few of these and love it, and I'm excited to be sharing it. I'm just going to put my whole screen up here. So today I'm going to be talking about a governance app that I'm creating to run a DAO that I founded called Re-Public. It was actually a software product before it was a DAO or anything, and the idea is to basically create a global data utility built on open-source software where everyone can kind of collect all their personal data, control it, and monetize it if they want. But that's not the primary use case anymore. And then it's kind of a strange thing to go from that to a voting platform, but I realized like trying to start Re-Public as a co-op and then envisioning it as like a user-owned and operated utility, basically I realized that governance, even before the whole DAO craze, governance is kind of a key problem that has to be there in order for the vision to work. And so I've actually been thinking about this for over 15 years. I worked at Wired Magazine as an intern doing news writing, and one of my first stories was about digital voting. And as part of that, I came across some research at Stanford about proxy voting, sometimes called liquid democracy. And he had an interesting take on it, which was to delegate your voting power to other people in the network based on the subject matter of the decision. So it was like, you trust this person for restaurant recommendations, but this person for music recommendations. And so depending on what the decision was, your whole voting power topology would kind of shift around, which made a lot of sense to me instead of delegating to like a person who might have some views on this and some views on that, but you just kind of have to delegate to them no matter what it is.
Is that clear so far? Any questions? I'd like this to be a little bit participatory if anyone wants to jump in. I can't see the chat, so Narb, maybe if anyone's asking questions you can say something. Sure.
Yeah, so the idea behind this is that we're going to use non-transferable ERC-20 tokens to manage the voting power of members. And so every month, there'll be like a thousand tokens minted. and then in order to claim those tokens, which are your votes, you have to delegate the entire balance to other people in the DAO. So trying to account for the lack of participation where 80-90% of people just don't even pay attention or don't take action on votes, and so this is a way of like you can't really participate in the system at all without at least taking that first step of expressing your will through delegation. And so I'll show you the claim page in a little bit, but the idea is to make it as easy as possible for somebody to claim their tokens. If you want to just get through it quickly, you can just delegate everything to one person no matter what the topic. But if you want to get granular about it, you can go through and be like, oh, I want this person to vote for me on behalf of like software development or this person to vote for me for marketing. This is kind of agnostic to how the distribution of tokens gets determined. We've been using Coordinape to come up with like the percentage distribution total of the thousand tokens. But then once each person has a percentage next to their name, then you come into the Re-Public voting app and then you can go to a claim page for the amount of tokens that you're going to receive, and then it calculates your voting power whenever new proposals come on in. So as like the admin, I've called these like town halls, following a pattern of Discord servers or other Web3 apps. This is kind of an admin screen. I can go in here and work on my settings here, change the ticker for the ERC-20 token. The reason I went with a non-transferable token is I think we're seeing a lot of the fallout from having governance be financialized. And so I'm thinking it seems like the future is like very tightly scoped token use cases. And so by making it non-transferable, it's just limited to this one use case. A user's token balance is really just representative of how much work they've done and how much they're trusted with governance decisions within the organization. We're playing with different models where there's a linear mint or you can do like a percentage where you have a beginning amount and then every mint is like a percentage of volume. Then it'll calculate out all your future mints, and then you can choose percentage of a quorum. My kind of hypothesis is that if you delegate based on subject matter, then you kind of form these working groups that kind of represents just like the organization of a regular company where these people who are trusted to work on this stuff can just work on it autonomously. Because in this system, everyone's delegated to them. Like say you have four software developers and between the four of them they have like 80% of the software development voting power, then those four people don't have to really talk to the rest of the DAO. They can just make decisions autonomously basically until everyone can kind of see the decisions that they're making, and then if they don't like it, then those delegations can be pulled back at any time and it's kind of like a fluid system of trust without blocking everything by making every decision like something the whole DAO has to weigh in on.
Yeah, 100%. A question for me. So basically, do you foresee one representative from each DAO coming into Re-Public and setting up a profile for their DAO, or can multiple representatives come and manage one of these pages?
I'm trying to make it as low friction as possible. So the very minimum is like you get a link to your claim after that's all been determined, and all you have to do is go and connect your wallet and then delegate and claim, and then that's all the time that you have to spend on the platform. Let me just go through the workflow here. This is like a manual mint for now because I'm just working on the automated. Ideally you'd just set your interval and everything would be taken care of. Once each person has a percentage, you can mint. When that goes through, each person can come to their claim. This is another DAO that I'm working in called Factland, it's like a crowdsourced fact-checking project. So these are actually real people. I've got three DAOs who have kind of signed on to pilot this.
One of the challenges is I guess malicious people having many different accounts. Have you looked into potential solutions for that?
Yeah, that's definitely a problem basically in all the DAOs and projects that I'm working on. I personally don't have the projects that are large enough right now that it's an urgent need. I know there's a lot of really smart people working on like proof of humanity and Sybil resistance. I'm hoping to adopt something like Keybase or Gitcoin where they're kind of taking care of verifying this person has all these social accounts and it's connected to this wallet. And I'll say that this is all open source. I do think it's something that Developer DAO could benefit from. I've tied this up to Discourse, so that once you do a Discourse instance, you can pull in your categories from Discourse and then you can do a mapping of Discourse tags to local categories for the app. There are contracts set up for the ERC-20 tokens and the on-chain delegation. But for now, since there's three orgs actually using this, I know everybody and we'll kind of be working through the bugs.
I really like the app. Because in the real world right now, for physics, you might have some physicists in mind that you trust. So you can delegate your votes to them. For climate change, maybe you trust someone so you delegate to them. So it would definitely be really time-saving to just find the people you trust in the subject matter expertise and then assign them the way. It would be cool to build KPI websites so people can monitor how well these groups are doing.
Awesome. You all can go to live-voting.re-public.io if you want to. There is like a social network component and that's also something that I don't really want to build. I'm hoping that Lens Protocol or Ceramic could just pull in somebody's profile and network from there. But for now, it's kind of like each person, so that you know who to delegate to, can have a profile here. Should you be able to see people's voting record? Because I think we've seen the kind of groupthink that can happen when you show up to a vote and you just see that everyone's voted yes. And so it might be interesting to keep the results hidden until the vote closes. Back to the Discourse thing, I'm doing it through tags. So like if you write a tag like hours-3, then that's going to be the vote is open for three hours from the time that you publish this. Then for the voting mechanism, you can do a single select with three options or yes/no. And then you'd have to say what a yes vote means in the text of the proposal. It'll show you your voting power based on the category of the proposal. Back-end, I'm just using Parse for the database which makes it pretty easy. There's a nice little GUI for the database and they do a lot of stuff for you like real-time queries. I find it more user-friendly than Firebase.
Nothing to lose for sure. There's a few minutes left until we're at time. But I guess one critical question for me is, is there anything in particular skill set-wise or just help with in general to continue building this out from the crowd here?
I think no matter what your skill set, if this is interesting to you and you're passionate about it, I can definitely use all the help I can get. I'm a pretty senior developer, I've mentored a lot of people and done a lot of stuff, so I don't mind if you're pretty junior and you want to come in and learn some stuff. Definitely, I'll take the time to walk you through it. Otherwise, it's like a pretty standard Next.js app. I find Parse has helped me save a lot of time basically. The claim page is basically just like a spreadsheet matrix where you can delegate a vote based on the categories for all the users or you can do some shortcuts.
Excellent, awesome. Great stuff. Any final questions here from the crowd? Going once, going twice, sold. Thank you very much Keith for coming on and showing us this awesome project. Really looking forward to it getting flushed out as development continues on here. Please don't hesitate to reach out to Keith. I want to wish everybody a very happy Friday, happy weekend wherever you may be and that will catch you back here next week. Be on the lookout in the chat and the DevNTell channel itself for the POAP drop for attendees. Thanks Narb for making this happen. My pleasure, my pleasure. Thanks for coming on. And with that, I'll stop the recording.
Listen On
Share This Episode
Share on XWatch Episodes Live!
Subscribe to our event calendar and never miss a live episode.
View Event Calendar