
Reviews for World
Human-only reviews: World ID-verified users can leave real, sybil-resistant business feedback.
About
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.
How it's made
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.