← Back to home

Reviews for World

Human-only reviews: World ID-verified users can leave real, sybil-resistant business feedback.

Problem Statement

This project is a Next.js-based mini app built for World App, designed to combat mass botted and fake reviews by requiring every user to verify their humanity with World ID before leaving a comment. The app features a full-screen interactive map where users can search for businesses, view detailed business information, and read or leave reviews.Key Features:World ID Gating: Only real humans who have verified with World ID can leave reviews, ensuring sybil resistance and preventing bots or fake accounts from spamming the platform.Review System: Users can submit ratings and comments for businesses, but only after passing World ID verification. Each user can only leave one review per business.Business Search & Map: Users can search for businesses and see them displayed on a high-quality, full-screen map. Each business popup shows review statistics and allows navigation to a detailed review page.Modern UI: The app uses the Mini Apps UI Kit and Tailwind CSS for a clean, mobile-friendly, and native-like user experience.Secure Backend: All review submissions are verified server-side for valid World ID proofs, and reviews are only accepted if the proof is valid and unused.Sybil Resistance: The backend checks for duplicate reviews and can optionally store the World ID nullifier hash for further auditability and cross-action sybil resistance.How it works:A user searches for a business on the map.To leave a review, the user must verify with World ID (using the World App and MiniKit).Upon successful verification, the user can submit a review. The World ID proof is sent with the review.The backend verifies the proof with the Worldcoin Developer Portal API and only accepts the review if the proof is valid and not reused.All users can read reviews, but only verified humans can contribute.This approach ensures that all feedback and reviews are authentic, human-generated, and sybil-resistant, making the platform trustworthy and valuable for everyone.

Solution

This project was built using a modern, full-stack TypeScript/JavaScript stack, with a strong focus on sybil resistance and real human verification.Core Technologies: Next.js (App Router): The backbone of the frontend and backend, providing server-side rendering, API routes, and a seamless developer experience.React: For building interactive, component-based UIs.Tailwind CSS: For rapid, utility-first styling and responsive design.Mini Apps UI Kit: Ensures the app matches World App’s design guidelines and provides a native-like look and feel.Prisma: Type-safe ORM for PostgreSQL, handling all database interactions and migrations . PostgreSQL: The primary database for storing reviews and business data.World ID (via MiniKit): The core of the anti-bot system. MiniKit is used on the frontend to trigger World ID verification, and the backend verifies proofs using the Worldcoin Developer Portal API.Leaflet (react-leaflet): For rendering the interactive, full-screen map and business markers.OpenStreetMap: As the map tile and business search data provider.

Hackathon

ETHGlobal Prague

2025

Contributors