Human-only reviews: World ID-verified users can leave real, sybil-resistant business feedback.
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:
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.