project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

Mini Amor

Verified humans only. MINI AMOR uses World ID to stop bots, scams, and fake profiles in dating.

Mini Amor

Created At

ETHGlobal Taipei

Winner of

World

World - World Pool Prize

Prize Pool

Project Description

Online dating is broken — fake profiles, bots, and catfishing have eroded trust, making genuine connections difficult. Most platforms offer little to no identity verification, allowing bad actors to impersonate others, create multiple accounts, and exploit users at scale.

MINI AMOR addresses this problem with a one-human, one-account model, enforced through World ID and built on World Chain.

During onboarding, users verify their identity with World ID. Once verified, they can create a profile and cryptographically sign it using signAndVerifyMessage to confirm authenticity. This signature, along with key profile metadata, is recorded on-chain (on Flow).

The app offers optional premium features such as custom stickers and subscriptions. Payments are handled via World Chain using payWithWorldcoin, supporting tokens like WLD and USDCE.

By leveraging World ID, MINI AMOR eliminates identity fraud, deters bots, and restores trust to online dating — enabling safer, more meaningful connections.

How it's Made

1. Architecture Overview

Mini Amor is a dating app integrated into the World App ecosystem, built using World ID for sybil-resistant verification and World Chain for on-chain payments. It follows a client-heavy architecture with no backend server. The frontend manages user sessions, form handling, wallet integration, and all verification/payment logic via SDKs.

World ID’s MiniKit is central to the app. It handles both the identity verification (via zero-knowledge proofs) and token-based payments. Only minimal data, such as signed profile hashes, are written on-chain to validate authenticity without storing personal or sensitive content. All other operations — profile creation, chat, matching — are handled client-side.

2. Identity Verification & Payments

Identity verification is handled entirely through MiniKit. On signup, users are prompted to verify using World ID via the MiniKit SDK. The process generates a ZK proof within the World App, which is returned to the mini app and validated without exposing user data.

After verification, users can create a dating profile and cryptographically sign their details using signAndVerifyMessage. The resulting signature hash and minimal metadata are recorded on-chain. This proves that the profile was created by a verified human, without storing PII.

WLD payments are used for premium features like stickers or subscriptions. The app uses payWithWorldcoin from MiniKit to trigger payments. This includes haptic feedback, payload construction (tokens, amount, reference), and an async payment flow. The result is returned to the frontend for UX feedback. No separate backend is required to manage or verify payments.

3. Technologies Used

The app is built with Next.js (React 18) using TypeScript for type safety and maintainability. Tailwind CSS and Radix UI (via shadcn/ui) were used to build accessible and responsive UI components quickly.

React Hook Form and Zod manage form logic and validation with minimal boilerplate. React Query handles caching and async flows. For Web3 interactions, we used ethers.js with wagmi and viem to handle wallet connections, signature flows, and contract interactions.

The World ID MiniKit SDK powers verification and payment handling, integrating directly into the frontend. Nextjs ensures fast local builds and development feedback loops.

4. Notable Implementations & Hacky Fixes

Integrating MiniKit came with several challenges. SDK documentation was incomplete, and some sample implementations failed out of the box. We had to dive into source code, build custom hooks around state flows, and patch UI inconsistencies.

World App behavior was inconsistent across devices. We encountered long loading times, unexpected caching issues, and failed state hydration. To test in real conditions, we used NGROK tunnels to expose local builds and scan QR codes directly with World App on mobile.

Operating without a backend added complexity around verification flow gating, signature handling, and error resolution — but also enabled full decentralization and privacy.

5. Why Partner Technologies Helped

While the documentation for World ID and World Chain was limited in areas, the available tutorials provided a solid starting point. The integration process was generally smooth thanks to MiniKit’s lightweight design. When we encountered issues — particularly inconsistent MiniKit behavior across devices — we took a proactive approach: debugging on-device, isolating problems, and reaching out to the Worldcoin team directly. The support was highly responsive, and most issues were resolved within an hour.

These challenges pushed us to better understand the SDK internals, build resilient workarounds, and move forward without blocking progress. The experience reinforced our team’s ability to stay agile, troubleshoot effectively under time pressure, and ship a working, verified dating app powered by on-chain trust.

background image mobile

Join the mailing list

Get the latest news and updates