Web3 Community Blockchain

SlimeDAO

A decentralized community experiment in transparent governance and collective action.

ROLE

Frontend Engineer & Smart Contract Integrator

TIMELINE

January 2025 (3 Weeks)

TECH STACK
Astro RainbowKit Wagmi TailwindCSS
SlimeDAO

The Challenge

Building a community is easy; maintaining trust is hard. As SlimeDAO grew, we noticed that decision-making was becoming centralized in private chat groups.

The Friction Points:

Lack of Transparency: Members couldn’t verify if a decision was truly supported by the majority.

Voter Apathy: Complex governance tools (like Snapshot) were too technical for our casual user base.

Mobile Experience: Most Web3 tools are desktop-only, but 80% of our community interacts via mobile.

The Goal

Create a “Governance Lite” dashboard that acts as a bridge between complex blockchain data and a friendly user experience.

Mobile-First: A UI that works perfectly inside a crypto wallet browser (MetaMask Mobile).

Visual Clarity: Turn raw voting data into intuitive charts and graphs.

Low Friction: Login and vote in under 3 clicks.

The Process

  1. UX Strategy: “Connect & Forget”

The biggest hurdle in Web3 is the “Connect Wallet” friction. We designed a persistent session management system. Once a user connects via RainbowKit, their session remains active (read-only) even if they lock their wallet, allowing them to browse proposals without constant signing requests.

  1. Architecture: Hybrid Web3

We used a hybrid approach to ensure speed:

On-Chain Data: Proposal IDs and Vote Counts are fetched directly from the smart contract using Wagmi hooks.

Off-Chain Context: Proposal descriptions and discussions are stored on IPFS (InterPlanetary File System) to save gas costs but maintain decentralization.

// Example: Fetching votes with Wagmi const { data: voteCount } = useContractRead({ address: SLIME_GOVERNOR_ADDRESS, abi: governorABI, functionName: ‘getVotes’, args: [proposalId], watch: true, })

  1. Visual Design

We stepped away from the “Dark Mode Cyberpunk” cliché of Web3.

Palette: We used the “Slime Green” brand color but balanced it with clean whites and grays to make it feel approachable, not hacker-ish.

Feedback Loops: Every blockchain interaction (signing, voting) has a clear loading state and success toast notification, so the user never wonders “Did it work?”

The Roadblocks

The Challenge: Hydration Errors with Wallet Libraries. React-based wallet libraries often conflict with Astro’s static HTML generation because they need access to the window object immediately. The Fix: I isolated all Web3 components into “Islands” using Astro’s client:only=“react” directive. This tells Astro to skip server-side rendering for these specific buttons and only render them in the browser once the wallet is ready.

The Result

SlimeDAO V1 has successfully processed over 500 unique votes in its first month.

Engagement: Voting participation increased by 40% compared to our previous Discord-poll method.

Trust: The “Treasury Visualizer” feature gave members confidence that funds were being managed correctly.

This project proves that Web3 tools don’t have to be complicated to be powerful.

Next Project View All Work →