All Projects

2026 · Hackathon

Aawaj

Social media owned by no one.

GitHub →

Overview

Aawaj (Nepali for 'voice') is a proof-of-concept for censorship-resistant social media. Posts are written to a Solidity smart contract on an Ethereum testnet, making them permanently readable by anyone and modifiable by no one. Users authenticate with MetaMask instead of a password. Built at the Midwest Blockathon.

Thought Process

The premise is simple and uncomfortable: every social media platform that exists today can delete your posts, ban your account, or shut down entirely. We wanted to explore what it looks like if that's architecturally impossible.

We chose Solidity + Ethereum testnet because it gave us a real, decentralized execution environment without real money at stake. MetaMask as the auth layer was a natural fit — your wallet IS your identity, no email or password required.

The biggest design question was what to put on-chain. Writing every post directly to the contract is expensive in gas. For the hackathon we kept it simple — posts go on-chain, media is an optional IPFS link. A production version would use a hybrid model: on-chain identity and content hashes, off-chain content storage.

System Architecture

A Next.js frontend talks to a Solidity smart contract via ethers.js. MetaMask handles wallet connection and transaction signing. All post data lives on the Ethereum testnet.

Next.js Frontend

Renders the feed, post creation form, and user profiles. Reads contract state directly via ethers.js provider. No traditional backend.

Solidity Smart Contract

Stores posts as structs (author address, content, timestamp) in a mapping. Emits events on new posts. Deployed to Sepolia testnet.

ethers.js

JavaScript library bridging the Next.js app to the Ethereum node. Handles ABI encoding, transaction construction, and event listening.

MetaMask

Browser wallet that acts as both the auth layer (connect wallet = log in) and the transaction signer. Users pay testnet gas to post.

Key Learnings

  1. 01

    Gas costs make frequent writes prohibitive on mainnet. A hybrid model — on-chain identity + off-chain content with an on-chain content hash — is the practical architecture for a real product.

  2. 02

    Wallet UX is still a significant barrier to adoption. MetaMask is familiar to crypto users but intimidating to everyone else. Walletconnect and embedded wallets are improving this.

  3. 03

    Reading blockchain state is free and fast; writing is slow and costs money. Design patterns that minimize writes and batch operations where possible are essential.

  4. 04

    Smart contracts are immutable once deployed. This is the feature — but it means you need to design upgrade paths carefully, or accept that bugs are permanent.