A modern, playful redesign of Nouns Builder that makes DAO governance fun, accessible, and engaging for everyone.
- Live-Demo: https://www.loom.com/share/af2379fa9ef642ce9ce1d29f0a5dcfab
- Slideshow: https://docs.google.com/presentation/d/1sdE5bFve38uYc8mzX74zyfJuJSdHNY5BhuUm5FvaLXc/edit?usp=sharing
- Deployed Public URL: https://nounsbuilder.vercel.app/
This project reimagines the Nouns Builder governance experience with a focus on:
- Accessibility: Mobile-first design that makes governance easy on any device
- Engagement: Social features like comments, reactions, and delegate profiles
- Clarity: Visual status indicators, progress bars, and clear explanations
- Fun: Playful pixel-art aesthetic inspired by Nouns culture
- Efficiency: Guided proposal creation with templates and smart workflows
- Live proposal status with visual indicators (Active, Pending, Passed, etc.)
- Smart filters by status and category (Grants, Governance, Treasury, Community)
- At-a-glance stats showing active proposals, passed proposals, and total votes
- Beautiful cards with vote breakdowns and quorum progress
- Browse pixel art NFTs including Based Fellas, Nouns Builder, and more
- Live bidding with real-time updates and countdowns
- Multi-chain support (Ethereum and Base)
- Bid history showing all previous bids with timestamps
- Interactive auction cards with smooth animations
- Mobile-optimized bidding interface
- Interactive voting with clear For/Against/Abstain options
- Real-time results with visual progress bars
- Social discussion with comments and reactions
- Transaction status showing loading β success β error states
- Share proposals easily with your community
- Step-by-step wizard that makes proposal creation simple
- Smart templates for different proposal types:
- Grants (with budget and milestones)
- Governance changes (with before/after comparisons)
- Treasury management (with strategy details)
- Community initiatives (with goals and timeline)
- Live preview before submitting
- Field validation to ensure quality proposals
- Browse delegates with detailed profiles
- See voting history and participation rates
- Filter by expertise and values alignment
- One-click delegation with instant feedback
- Change delegates anytime
- Track your activity - votes cast, proposals created
- Participation stats with visual progress
- Recent activity feed showing your governance journey
- Delegation status at a glance
- Interactive tutorial explaining how governance works
- Step-by-step guide covering:
- How voting works (Pending β Active β Passed β Executed)
- What delegation means and why it's powerful
- How to create your own proposals
- Best practices for participation
- Skip option for experienced users
- Bright, cheerful color gradients (pink, purple, indigo, emerald)
- Smooth animations and transitions using Motion (Framer Motion)
- Fun emojis and pixel art aesthetic
- Clear visual hierarchy
- Bottom navigation on mobile, top navigation on desktop
- Responsive grids and cards
- Touch-friendly buttons and interactions
- Optimized for phones, tablets, and desktop
- Color-coded proposal statuses
- Progress bars for votes and quorum
- Loading states for transactions
- Success/error feedback with toast notifications
- React - Component-based UI
- React Router - Client-side routing with Data mode
- Tailwind CSS - Utility-first styling
- Motion (Framer Motion) - Smooth animations
- Lucide React - Beautiful icons
- Sonner - Toast notifications
- Radix UI - Accessible component primitives
- Node.js 18+ and npm/pnpm
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run buildThis project currently uses mock data for demonstration. To connect to real Nouns Builder smart contracts:
-
Install Web3 dependencies:
npm install viem wagmi @rainbow-me/rainbowkit
-
Replace mock data calls with smart contract reads:
- Look for
// TODO: Replace with real smart contract callcomments - Use
viemorethers.jsto interact with contracts - Example contracts to connect:
- Governor Contract: For proposals, voting, delegation
- Token Contract: For voting power, balances
- Treasury Contract: For fund management
- Look for
-
Example contract integration:
// Instead of: const proposals = mockProposals; // Use: import { useContractRead } from 'wagmi'; const { data: proposals } = useContractRead({ address: '0xYourGovernorContract', abi: governorABI, functionName: 'getProposals', });
-
Add wallet connection:
- Wrap app with
WagmiConfigandRainbowKitProvider - Add "Connect Wallet" button to navigation
- Gate voting/proposal creation behind wallet connection
- Wrap app with
src/
βββ app/
β βββ components/
β β βββ Navigation.tsx # Mobile/desktop nav bar
β β βββ ProposalCard.tsx # Reusable proposal card
β β βββ ui/ # Shadcn UI components
β βββ pages/
β β βββ Dashboard.tsx # Main proposals list
β β βββ Auctions.tsx # NFT auction bidding (NEW!)
β β βββ ProposalDetail.tsx # Vote & discuss proposals
β β βββ CreateProposal.tsx # Guided proposal wizard
β β βββ Delegates.tsx # Browse & select delegates
β β βββ Profile.tsx # User stats & activity
β β βββ Onboarding.tsx # First-time user tutorial
β βββ lib/
β β βββ mockData.ts # Mock proposals, delegates, auctions
β βββ routes.tsx # React Router configuration
β βββ App.tsx # Root component
βββ styles/
βββ theme.css # Custom CSS variables
βββ tailwind.css # Tailwind imports
Instead of overwhelming users with a blank form, we provide:
- Template selection with icons and descriptions
- Step-by-step progress indicator
- Dynamic fields based on proposal type
- Preview before submitting
Make governance feel alive with:
- Comments and discussions on every proposal
- Emoji reactions to express sentiment
- Delegate profiles with voting history
- Activity feeds showing what's happening
Every proposal shows:
- Real-time vote counts and percentages
- Quorum progress visualization
- Time remaining on voting period
- Clear status at every stage
- Onboarding flow for newcomers
- Plain language explanations ("Quorum = minimum votes needed")
- Mobile-optimized for voting on the go
- Color-coded visual indicators
To make this production-ready, connect these features:
- Wallet Connection: RainbowKit or similar
- Read Proposals: From Governor contract
- Cast Votes: Call
castVote()on Governor - Delegate Votes: Call
delegate()on Token contract - Create Proposals: Call
propose()with transactions - Fetch Comments: IPFS or Ceramic for decentralized storage
- Real-time Updates: WebSockets or polling for live data
- Colorful stats cards showing active/passed proposals and total votes
- Filterable proposal list with status and category tags
- Animated card reveals on scroll
- Live auction cards with pixel art NFTs (Based Fellas #606, Nouns Builder, etc.)
- Real-time countdown timers showing time remaining
- Bid input with minimum increment validation
- Bid history with wallet addresses and timestamps
- Chain badges (Ethereum, Base) for multi-chain support
- Smooth card selection animations
- Large vote buttons (For/Against/Abstain) with loading states
- Visual vote breakdown with progress bars
- Comments section with reactions
- Share functionality
- Beautiful template cards with icons
- Multi-step wizard with progress bar
- Live character count and validation
- Final review screen
- Searchable delegate cards
- Participation rate visualization
- Recent vote history with emoji indicators
- One-click delegation
- Personal voting stats and participation rate
- Recent activity timeline
- Current delegation status
- Link to Etherscan/block explorer
- 5-step interactive tutorial
- Animated icons and smooth transitions
- Practical tips for each governance feature
- Skip option for power users
- Lowers the barrier - Anyone can understand and participate
- Increases engagement - Fun design encourages exploration
- Builds community - Social features foster discussion
- Maintains transparency - Every detail is visible and clear
- Open source - Easy to fork, customize, and improve
MIT License - Feel free to fork and customize!
We're bringing the bagel to the presentation (metaphorically) - this project has personality, heart, and a commitment to making governance accessible and fun for everyone. ββ¨-β¨
Built for the Nouns community with β€οΈ
Making governance fun, one pixel at a time.