← Back to home

JustAIce

JustAIce: Blockchain complaint system storing evidence on Ethereum & IPFS for transparent justice.

Problem Statement

JustAIce is a next-generation, blockchain-powered justice platform designed to bring transparency, trust, and efficiency to complaint management and digital evidence handling. Citizens create their own accounts simply by connecting a crypto wallet, automatically receiving the default “user” role, while administrators retain exclusive control to appoint officers and additional admins. Once a complaint is filed, every action—from the initial submission to updates, evidence uploads, and final resolution—is immutably recorded on the Ethereum network and permanently stored on IPFS, ensuring that no record can be altered or deleted.A built-in staking mechanism (for example, a small 0.001 ETH deposit) discourages frivolous or fraudulent complaints, reinforcing accountability across all participants. The platform provides role-based dashboards tailored for users, officers, and administrators, offering real-time status tracking, secure document access, and clear audit trails. By merging decentralized technology with an intuitive, modern interface, JustAIce streamlines the entire lifecycle of a case—protecting evidence, empowering citizens, and giving law-enforcement teams a tamper-proof environment to deliver faster, fairer justice.

Solution

JustAIce is built as a fully decentralized web application with a clear separation of concerns across smart contracts, backend services, and a highly animated frontend. Here’s the technical breakdown:Smart Contracts & Blockchain LayerEthereum (Sepolia Testnet) provides the trustless execution environment.A set of Solidity contracts handle three core functions:Complaint Registry – stores complaint metadata and links to IPFS evidence.NFT Evidence Locker – mints an NFT that represents each case, embedding an IPFS CID for immutable proof.Staking Mechanism – requires a small ETH deposit (e.g., 0.001 ETH) to discourage spam complaints.We used Hardhat for compilation, testing, and deployments, with ethers.js v6 as the client library.Backend & APIsNode.js + Express (ESM) powers a lightweight service layer that manages user roles and JWT-based authentication.Wallet-based login is implemented so users sign in with a crypto wallet; by default they receive the user role. Only admins can elevate others to officer or admin.The backend talks to the blockchain through ethers.js for contract reads/writes and stores non-sensitive metadata in memory for rapid prototyping.Evidence files are uploaded directly to IPFS via Web3.Storage, returning a persistent content identifier.FrontendBuilt with Next.js + React, styled with TailwindCSS and Framer Motion for animated, futuristic UI: scroll-triggered morphing text, parallax backgrounds, and sliding panels for case details.RainbowKit + wagmi handle wallet connections, while react-query manages real-time blockchain data fetching.The UI offers role-based dashboards (User, Officer, Admin) and interactive complaint timelines that update live as transactions confirm on-chain.Hacky / Notable BitsTo avoid a traditional database, we cache role assignments and user sessions entirely in ephemeral memory while relying on blockchain state as the ultimate source of truth.We implemented a “lazy NFT” minting flow: evidence is pinned to IPFS first, and the NFT metadata is constructed and submitted on-chain only after successful pinning, saving gas and ensuring atomicity.For rapid prototyping, we used nodemon and ESM modules so that contract ABI changes propagate without a manual build step.

Hackathon

ETHGlobal New Delhi

2025

Contributors