← Back to home

SignDAO

SignDAO: AI translates sign language for DAO voting with ZK privacy, empowering 70M+ deaf users.

Problem Statement

🖐️ SignDAO — Gesture-Driven DAO InclusionAI-powered oracle enabling sign language voting in DAOs — secured with Zero-Knowledge proofs for privacy and fairness.🧠 What This Project IsSignDAO is a gesture-driven governance system that makes DAO participation accessible to the deaf and hard-of-hearing community. Instead of typing or clicking, users can vote through sign language gestures, which are recognized by an AI model and converted into on-chain votes, protected by Zero-Knowledge proofs to ensure privacy, authenticity, and fairness.In short: AI recognizes your gesture → ZK proof hides your identity → MetaMask finalizes your on-chain vote.💡 The ProblemDAO governance is still text-based and inaccessible. Over 70 million+ deaf or hard-of-hearing individuals who use sign language are excluded from direct participation in decentralized decision-making because DAO interfaces rely on written or spoken communication.🚀 Our SolutionSignDAO bridges AI gesture recognition and ZK-Secure voting to enable inclusive Web3 governance.Users connect their MetaMask wallet (Sepolia Testnet).A local Semaphore identity is generated for privacy.The user performs a gesture (YES / NO / ABSTAIN).The gesture is recognized via MediaPipe + FastAPI AI bridge.The app generates a Groth16 ZK proof verifying:The user belongs to a valid Semaphore group.The vote is unique (no double voting).The DaoActionsZK.sol contract records the verified vote on-chain.Every transaction is verifiable on Etherscan, but fully anonymous — no one knows who voted what.⚙️ Tech Stack Layer Tools / Frameworks 🤖 AI / Gesture Recognition Python · MediaPipe · FastAPI ⛓️ Blockchain / ZK Solidity · Semaphore · Hardhat · Sepolia Testnet 💻 Frontend Next.js · Ethers v6 · Tailwind · MetaMask signer 🔐 ZK Proofs Groth16 · Semaphore circuits 🧱 Infra Routescan + Sourcify verified contracts 🔍 Key Verified Contracts (Sepolia Testnet) Contract Address Description Verification DaoActionsZK.sol 0x7b8363901E588F44cD2904D61Ef5Ab83F59873f2 ZK-secured DAO voting ✅ Sourcify + Routescan SemaphoreVerifier.sol 0x185112CB3C2140858ff77C5B33F11Be8343ae3fc Groth16 proof verifier ✅ Verified DaoActions.sol 0x1Fdf28577154106956cfE5086a7d7B17b6Da4C1b Base DAO logic ✅ Verified GestureNFT.sol 0x8Ec061e0aF8A430eF1056ed377eDeAfB1cFE21cF Gesture reputation NFTs ✅ Verified 🌍 ImpactSignDAO makes Web3 governance inclusive for 1 billion+ underserved people with communication disabilities. Every DAO can integrate gesture-based voting as a module — making the blockchain truly democratic and accessible.“Your voice on-chain — even if it’s silent.” 🦟🧩 How It Works (Simplified)Gesture Capture — AI (MediaPipe) detects the user’s sign.Identity Commitment — Semaphore generates a private commitment.Proof Generation — Groth16 circuit ensures the user is real and unique.Verification — On-chain smart contracts verify the proof.Vote Recorded — The DAO updates its proposal state transparently.All actions use MetaMask signer — no backend wallets, ensuring full user control and decentralization.✅ Current Features✅ Connect / Disconnect Wallet✅ Create & Join DAO Groups on-chain✅ ZK Gesture Voting (Groth16)✅ Verified Contracts (Routescan + Sourcify)✅ Inclusive AI Gesture UX✅ Real-time vote verification on Sepolia🕹️ Demo FlowClick Connect Wallet (MetaMask)Click Create Group → Approve tx → Etherscan link shownClick Join Group → Approve tx → Member appearsPerform a gesture → Proof verified → Vote recordedConfirm on Sepolia Explorer🧠 Why It MattersSignDAO proves that AI + ZK + Web3 can build a world where every voice counts, even when silent. It redefines governance accessibility and strengthens the ethical foundation of decentralized systems.✨ Future VisionMulti-chain DAO support (Polygon, Optimism)Multi-language sign recognition (ASL, ISL, BSL, etc.)Gesture reputation via NFTsOn-chain grants for accessible Web3 tooling

Solution

⚙️ How It’s MadeWe built SignDAO as a bridge between AI gesture recognition and ZK-secured blockchain governance, combining Python AI inference, Semaphore ZK circuits, and Next.js + MetaMask for an end-to-end decentralized experience.🧩 Architecture OverviewFrontend (Next.js + Tailwind + Ethers v6)Built a React-based dApp where users connect their MetaMask wallet (Sepolia).Integrated Ethers v6 for on-chain reads/writes.Local identity generation via Semaphore identity commitments using browser-side hashing — no backend keys.Added dynamic UI for group creation, joining, and ZK vote submission, with automatic Etherscan verification links.AI Gesture Recognition (Python + MediaPipe + FastAPI)Created a gesture bridge API that runs locally on port 5000.Used MediaPipe Holistic to track hand landmarks and classify them into gestures (YES / NO / ABSTAIN).Converted these gesture signals into encoded strings sent to the frontend via HTTP bridge.This bridge enables the AI to work offline without storing any user data — preserving privacy.ZK Proof Generation (Groth16 + Semaphore Circuits)Integrated Semaphore circuits for anonymous group voting.Each gesture triggers a Groth16 proof generated client-side via snarkjs.The proof verifies that:The user is a valid group member.The same user cannot double-vote (nullifier hash).Proof and signal are bundled and sent to the DaoActionsZK.sol contract.Smart Contracts (Solidity + Hardhat + Sepolia)Deployed and verified all contracts on Sepolia (Chain 11155111).DaoActionsZK.sol: Handles group joins and ZK vote validation.SemaphoreVerifier.sol: Verifies Groth16 proofs on-chain.GestureNFT.sol: Mints reputation NFTs for active gesture voters.Used Routescan + Sourcify for full verification and transparency.All transactions are executed through the MetaMask signer, ensuring no centralized wallet or backend.Infra / DevOpsDeployed contracts using Hardhat scripts.Configured NEXT_PUBLIC_SEPOLIA_RPC for read operations.Frontend automatically detects the connected network and disables writes if not on Sepolia.GitHub Actions used for local build checks and linting.🧠 Hacky / Innovative PartsZK-proof pipeline in browser: integrated snarkjs inside the Next.js app, allowing proof generation directly in the client — no backend relay server.Gesture-to-ZK bridge: converted real-time AI gesture recognition into on-chain votes using encoded signal strings.MetaMask-only flow: removed all private key dependencies and RPC servers — every single on-chain write comes from the user’s MetaMask, ensuring decentralization.Full contract verification: all Solidity contracts are Routescan + Sourcify verified, showing transparent auditability for judges.Accessible UX: minimal UI built with Tailwind, optimized for one-click demo flow (Connect → Create Group → Join → Vote).🧠BenefitsSemaphore (by PSE) — provided the foundational circuits for anonymous identity and voting.MediaPipe (by Google) — simplified sign gesture recognition without external datasets.MetaMask — handled on-chain writes directly from user wallets.Routescan + Sourcify — ensured all contracts are publicly verified for trust and reproducibility.🏁 End ResultA fully working dApp where a user can: ✅ Connect wallet ✅ Create or join a Semaphore group ✅ Perform a sign gesture ✅ Generate a local ZK proof ✅ Submit vote on Sepolia — all with no backend, no data leaks, and 100% verifiable inclusivity.

Hackathon

ETHOnline 2025

2025

Contributors