
Conflict as a Bug
Private mutual understanding first; then conflicts become semi-public bugs for solvers and backers.
Demo
About
Conflict as a Bug (CAB) treats conflicts as problems that can be made explicit, understood, and solved. Instead of jumping directly to judgment or compromise, CAB first asks the parties to state their perspectives, paraphrase each other, and confirm mutual understanding. This hackathon version begins with a private conflict between two people. Their exchange remains end-to-end encrypted. Only after both consent does CAB create a limited public summary and turn the conflict into a bug listed for solvers. A solver can propose a concrete resolution and, when money could help make it possible, request backing for one of the parties. The PoC completes that path with a clearly labelled simulated audit and a transfer from a single backer. The broader vision is a platform where interpersonal, community, organizational, and other conflicts can be exposed at the appropriate privacy level and approached as resolvable bugs.
How it's made
CAB is built as a Next.js 16 application with TypeScript and Tailwind CSS, deployed on Vercel. Privy provides email authentication and embedded Ethereum wallets, allowing the parties, solvers, and backers to participate without first configuring an external wallet. Privy access tokens are verified server-side and mapped to the authenticated user’s Ethereum wallet before protected actions are accepted. The private case flow is end-to-end encrypted: perspectives, requests, and paraphrases are encrypted in the browser before persistent storage. The backend handles encrypted content and workflow state, while a lightweight set of Solidity contracts on Sepolia anchors the case, the parties’ wallet identities, their consent, and public resolution and backing events without placing the private conversation onchain. Once both parties confirm mutual understanding and consent to publication, a Chainlink CRE Confidential Workflow processes the private case inside a trusted execution environment and produces the limited summary shown in the public solver list. This lets solvers work from useful context while the raw private history remains protected during processing. A solver can submit a free-text proposal and indicate that the solution needs financial backing for one of the parties. The PoC then passes the request through a clearly identified simulated audit before allowing a single backer to complete an onchain transfer. This deliberately constrained implementation demonstrates the entire path from private disagreement to shared understanding, confidential publication, an external solution, and funded action.