Proposal 18
Executed
Resident Protocol Lead
For
121
Against
0
Abstain
0
Threshold
53 votes
Current threshold
Ended
Sep, 27, 2024
9:37:57 PM GMT +0:00
Snapshot
#20039465
Taken at block
Description

Resident Protocol Lead: 3 Month Trial

Millz's Proposal

Image

Why Me?

I’m a DAO native. In early 2021, when my former employer, Erik Voorhees, announced to the whole company in a jovial manner that he was “firing” himself, that ShapeShift AG would be shutting down and transitioning into a DAO within the next six months, and that we would “no longer be employees,” it sounded like something out of a sci-fi novel. We were tasked with decentralizing the company out of existence, into the ether, and open-sourcing all of our previously closed-source code to the world. ShapeShift would live on, Erik promised. To my astonishment, it still does to this day, governed by an ERC-20 DAO, stewarding a modern version of the same non-custodial cross-chain crypto platform we began building as a company in 2018

Since then, I’ve contributed to a wide variety of projects: ShapeShift DAO, of course, the KeepKey hardware wallet, FoodNouns DAO, SkateHive DAO (just last week winning a prize in the Base Onchain Summer Buildathon), NounSpace, and Gnars DAO, where I initially discovered the Builder Protocol codebase and became enamored. It was well-organized, well-documented, and so easy to follow that I was able to launch our own versions of the Gnars subgraph to Goldsky, The Graph, and Alchemy the next day. I eventually convinced my team to model our code after it, and we started making rapid progress on our own Frontend Base migration.

The only question I had was: why are the docs 404? So, I tracked Builder down, saw the JD, and, already being so familiar with the codebase, thought, why not me? So this is my proposal for a three-month residency—not just to fix the docs, but to swat away bugs, fine-tune the rusty components, and add features the community wants, all in the spirit of the Mission, Vision, and Values from the L1 Prop 66.

Specifically, but not exclusively, this is what I plan to tackle:

  1. I already fixed the broken docs link and submitted a PR to Zora. I couldn’t wait. Now I realize I’m probably going to have to be approving my own PRs alone now, which isn’t ideal, but can be managed with my experience in TDD, CI/CD, and of course deployment previews in Vercel for every PR to get a quick look at the app in a production-like environment before every deploy.

  2. We need to own our own code. I have experience handing off and receiving others’ code before, so I’m optimistic that Vercel’s modern built-in capabilities will make this even easier. Of course, I’ll lean on everyone I can to keep communication channels open to avoid any blockers.

  3. Many of the proposed transactions at the bottom of proposals are hard to understand. If we plan to scale to 5,000 or 10,000 DAOs, eventually someone might make a mistake. However, the tx below is not too hard to parse with common front-end Ethereum libraries—I did it myself before voting on this exact one—and fortunately, it matched exactly what was proposed: Image

  4. As someone who has been a user of Builder myself, I had the unique opportunity to do what many devs don’t get to do: actually use their own products, because they’re usually too busy “buidling” them to experience the other side. Just this week, I reached out to my fellow devs in the Nounish ecosystem who have used Builder to get their perspectives on potential improvement, some of which I had also wanted myself:

  • My coder/skater/serial-DAO-creator/member friend wants “custom transactions to be easier, like the USDC ones on Nouns”. For requests like this, specifically the USDC part, I would seek feedback from the BuilderDAO community. There are proposal guidelines at the bottom of the website that strictly say to denominate the treasury impact in Ether, but no one seems to follow that. Although I plan to be mostly autonomous in this role as the sole developer, I’d still like to have others in the DAO weigh in on non-technical, big-picture plans like this.

  • Another great piece of feedback I heard from a fellow Builder user is that “nouns.build uploads more than 100 files to IPFS to create just the DAO preview, and a lot of people just test it, meaning they either go back a step and change their files, or they simply give up.” My fix for this would be to only upload the files to IPFS when the DAO creation transaction is signed. I haven’t personally tried to replicate this exact bug, but it’s just an example of how important engaging with our users is, from the technical to the non-technical.

  • I reached out to the CEO of KeepKey wallet and he informed me that WalletConnect no longer works on nouns.build, and I was able to reproduce the bug on my side as well. Fortunately, I gained a lot of experience with WalletConnect when they upgraded from v1 to v2 so I plan to fix this too.

  • I personally don’t have any reason to create a DAO, and ideally I won’t be testing code in production. However, I do have a few fun Nounish ideas for DAOs I might launch, both as a creative and as a way to experience the UX/UI of a mainnet launch as a real user, not just in a simulated development environment.

  • That being said, I believe keeping up with our automated unit tests and possibly adding integration tests would be a huge value-add, saving developer hours—especially by adding rules to our CI/CD pipeline to enforce that tests must pass before code is shipped to production. A test coverage meter is also an easy visual addition to the main README.md as a way to notice if test coverage is increasing or decreasing over time.

  • We need to move our subgraph API calls out of the front end, utilizing Next.js’ SSR and SSG features for efficiency and security. Not only will that potentially save us money in terms of fees or down time because of rate limiting, it will also stop us from exposing our API keys to the clients.

  • Image uploading still seems to be an issue, and it needs to be fixed. Whether it’s a Pinata issue or a bug in our code, I’ll get to the bottom of it.

  • The code quality and style of nouns.build are impressive, and I plan to maintain this consistency, enforcing Prettier or ESLint rules if I notice they’re missing.

  • Remove all legacy Zora branding (like the Orb in the top right corner of the homepage) and remove/update the old Terms of Service and Privacy Policy.

  • Other issues could arise along the way, but assuming I get through everything I can think of in these three short months, I’d love to discuss which new features to prioritize next.

  • There’s more I could say, but short of giving you a full code audit, I’d rather get this proposal through so we can “just DAO it!”

Funding Request

$12,500 USD/month for 3 months (Full-time, 40+ hours/week)

This is a total of ~$37,500 to be paid out in exactly 16 ether over a 3 month Sablier stream

Proposer
0xc2e...c721a
Proposed Transactions