| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Mobile-first DAO Governance
Browse DAO proposals, follow your favourite DAOs, and connect your wallet —
all from a native Android app. An open-source attempt to bring DAO governance to mobile.
Quorum aggregates governance proposals from real DAOs (Uniswap, Aave, ENS) into one clean Android app, powered by Snapshot. Today there's no good native Android app for DAO governance — Quorum is here to fix that.
📸 Screenshots coming soon.
A DAO (Decentralized Autonomous Organization) is an internet community with no single boss — members make decisions by voting. Big protocols like Uniswap, Aave, and ENS are run this way.
Snapshot is where most of this voting happens — it's free and "gasless" (you just sign a message with your wallet, no transaction fee).
Quorum brings all of this to your phone: see what's being voted on, follow the DAOs you care about, and connect your wallet.
👉 Full beginner-friendly explainer: docs/CONCEPTS.md
| Feature | Status |
|---|---|
| 📋 Proposal Feed — browse proposals from ENS/Aave/Uniswap/Gnosis/Arbitrum, filter by All/Active/Closed | ✅ |
| 📄 Proposal Detail — full description, live results per choice, deadline | ✅ |
| 🔍 DAO Discovery — browse DAOs (followers, proposal counts) + follow/unfollow | ✅ |
| 👛 Wallet Connect — connect any wallet via WalletConnect/Reown, see your address | ✅ |
| 🗳️ Gasless voting — sign & submit votes to Snapshot (EIP-712), survives process death | ✅ |
| 📊 Vote history — your past votes, and "you voted" shown on each proposal | ✅ |
| 🔔 Deadline notifications — push when a followed DAO's proposal closes in 24h/1h | ✅ |
| Layer | Stack |
|---|---|
| Android | Kotlin · Jetpack Compose · MVVM · Retrofit · Coil · Navigation · Reown AppKit (WalletConnect) |
| Backend | Node.js · TypeScript · Express · Redis (Upstash) · node-cron · deployed on Render |
| Web3 data | Snapshot GraphQL API |
The backend is a thin proxy: it fetches DAO data from Snapshot, caches it in Redis, and stores app data (users, follows). The Android app talks only to the backend (+ the wallet for connecting).
👉 How it all fits together: docs/ARCHITECTURE.md
Quorum/ ├── android/ # Native Android app (Kotlin + Compose) ├── backend/ # Node.js + TypeScript API (deployed on Render) ├── docs/ │ ├── CONCEPTS.md # DAO / Snapshot / gasless voting — explained from scratch │ ├── ARCHITECTURE.md # How the app + backend + Snapshot fit together │ └── PLAN.md # Original project plan & notes ├── CONTRIBUTING.md └── README.md
cd backend
npm install
# create .env with: PORT=3000 and REDIS_URL=rediss://<your-upstash-url>
npm run devServer runs on http://localhost:3000 (health check: GET /health). Live instance: https://quorum-t5uv.onrender.com
cd androidWALLET_PROJECT_ID=your_project_id_here
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/proposals?spaces=ens.eth&state=active&page=1 | List proposals (filter + paginate) |
| GET | /api/proposals/:id | Single proposal detail |
| GET | /api/daos | Supported DAOs + live metadata |
| POST | /api/users | Register user + FCM token |
| POST | /api/users/:address/follow | Follow a DAO |
| DELETE | /api/users/:address/follow/:daoId | Unfollow |
| GET | /api/users/:address/follows | List follows |
Contributions welcome! See CONTRIBUTING.md. This is a learning-focused, open-source project — issues, ideas, and PRs are all appreciated.
MIT — see LICENSE.
| Back | FazBrowse Home | New Git URL |