Inspiration
Modern social media platforms track your IP, cookies, and personal identity, while public blockchains permanently dox your wallet address. We wanted to build a platform where whistleblowers, employees, and community members can post candid feedback and discuss sensitive topics with mathematically guaranteed anonymity—without sacrificing cryptographic proof of ownership.
What it does
WhisperBoard is a decentralized, zero-knowledge discussion feed built on Midnight Network.
Zero Identity Leakage: Posts are submitted without revealing wallet addresses or author keys. Multi-Board Feed Discovery: Deploys and aggregates independent Compact smart contracts into a unified, real-time social timeline. ZK-Proven Ownership: Only the original author can take down their post, verified through a zero-knowledge proof generated in their browser. Interactive Discussions: Supports threaded replies, likes, and one-click feed sharing.
How we built it
Smart Contracts: Written in Midnight's Compact DSL (post and takeDown ZK circuits). ZK Proving: Generated locally on the user's machine using midnightntwrk/proof-server:8.0.3 in Docker. Frontend: React 19, TypeScript, Material-UI, and Vite styled with an authentic pitch-black X/Twitter 3-column layout. Blockchain Integration: @midnight-ntwrk/midnight-js, @midnight-ntwrk/dapp-connector-api, and Lace Wallet on Midnight Preview.
Challenges we ran into
Transitioning from a single-contract bulletin board into a scalable, multi-contract decentralized timeline required engineering a custom discovery and sync protocol via localStorage and URL state sync Handling client-side ZK proving latency (~15s) while maintaining a responsive, optimistic UI with real-time proving steppers.
Accomplishments that we're proud of
Successfully compiling custom Compact circuits into active on-chain ZK-SNARK deployments on Midnight Preview. Building a complete, polished Web3 application that feels like a modern Web2 social feed while keeping private keys strictly isolated on the client.
What we learned
- Zero-Knowledge Fundamentals: We gained a deep understanding of how ZK-SNARKs work in practice specifically how a client can generate a mathematical proof of a private witness without exposing secret keys or wallet addresses.
- Midnight Network & Compact DSL: We learned how to build and compile smart contracts using Midnight's domain-specific language (Compact), utilizing its dual-state ledger model where private state stays off-chain and only cryptographic proofs are verified on-chain.
- Decentralized Multi-Contract Orchestration: We learned how to transition from traditional centralized Web2 databases to managing distributed smart contract instances and synchronizing state reactively across peer browsers.
- Client-Side ZK Proving & UX: We explored how to run Dockerized local proof servers and manage cryptographic proving latency through clean, responsive UI state steppers. ## What's next for Whisperboard
- On-Chain Encrypted Direct Messaging: Implementing private 1-on-1 ZK channels between anonymous pseudonyms.
- ZK Reputation & Community Proofs: Allowing users to prove membership in a verified organization or DAO (e.g., "Verified Employee" or "Token Holder") without revealing their specific identity.
- Topic Channels & Shielded Tagging: Adding categorized feeds (e.g., #whistleblowing, #feedback, #governance) with selective subscription filters.
- Mobile PWA & WebAssembly Prover: Integrating in-browser WASM proving to eliminate the local Docker requirement on mobile devices.
Log in or sign up for Devpost to join the conversation.