Aawaj · आवाज
civic issue reporting, tamper-proof and on-chain
Best Beginner Track, winner · Best Hack Built with Antigravity, winner
fig. 1. speaking-trumpet, by which a voice carries.
Catalog of Work · R. Poudel, Collector · Lawrence, Kansas
Aawaj · आवाज (“voice”)
civic issue reporting, tamper-proof and on-chain
- Collected
- Midwest Blockathon, 2026
- Locality
- Midwest, USA
- Collectors
- R. Poudel et al.
- Method
- hackathon, weekend build
- Substrate
- React · Solidity · Polygon Amoy · ethers.js · Pinata IPFS · MetaMask
- Status
- exhibited
Field Notes
Aawaj is Nepali for “voice.” The premise comes from watching civic complaints disappear into bureaucracy back home: a pothole gets reported, the report sits in a drawer, and there is no way to prove it was ever filed or who ignored it. We wanted the paper trail itself to be incorruptible.
Reports are written to a smart contract on Polygon Amoy, which makes them permanent and publicly auditable. The interesting design problem was escalation; a report shouldn't just sit on-chain, it should move. We built a five-tier ladder (Ward to Municipality to District to Province to Federal) with on-chain confirmation at each level and dispute logic when a citizen contests a resolution.
Photo evidence is too large and too expensive for the chain, so images go to IPFS via Pinata and the contract stores the content hash. Officials work from a wallet-gated dashboard and authenticate with MetaMask, so their confirmations are themselves on-chain transactions. The audit trail covers the responders too, not just the reporters.
Dissection
A React frontend talks to a Solidity contract on Polygon Amoy via ethers.js. Pinata pins photo evidence to IPFS; the chain stores hashes and the full escalation state machine.
- Solidity contract (Polygon Amoy)
- Stores reports, escalation state, confirmations, and disputes. The 5-tier ladder is a state machine enforced on-chain; escalation rules cannot be bypassed by any party.
- React frontend
- Citizen-facing reporting flow and public feed. Reads contract state via ethers.js; writing a report is a signed transaction.
- Pinata / IPFS
- Decentralized photo storage. The contract keeps only content hashes, so evidence is verifiable without bloating chain state.
- Wallet-gated dashboard
- Government view, authenticated with MetaMask. Official actions (confirm, resolve, respond to dispute) are on-chain transactions tied to a known wallet.
Annotations
This sheet is designed to be printed. ⌘P yields a catalog card.