AI tutor Mini App for World — verify with World ID, learn with AI
ProofLearn is a Mini App for the World ecosystem that pairs AI-powered personalised tutoring with World ID human verification. Every learner proves they're a unique person before starting - one human, one profile, no bots.
AI can be a transformative educational tool, but meaningful AI usage is not free, especially for more difficult and resource-intensive learning tasks. Many people around the world could benefit from AI in their daily lives, yet simply distributing free credits creates a major sybil problem. ProofLearn offers an alternative model: each learner verifies that they are a unique human through World ID, and AI learning credits can then be funded by sponsors, partners, or other supporters.
This creates a one-human, one-profile learning system with no bots or duplicate accounts. Within the app, Claude AI delivers adaptive micro-lessons, interactive exercises, detailed answer evaluation, and mentor-style support across mathematics, language learning, and coding, with beginner, intermediate, and advanced levels.
Built with Next.js 15 using the App Router, React 19, and Tailwind CSS 4, ProofLearn delivers a mobile-first Mini App experience optimized for usability inside the World ecosystem. The backend is implemented entirely through Next.js API routes, with Prisma ORM and SQLite handling application data and persistence.
World ID 4.0 is integrated via @worldcoin/idkit using the IDKitRequestWidget with the orbLegacy preset. On the server side, RP signatures are generated through signRequest(), and submitted proofs are verified against the v4 verification API. Nullifier hashes are used to enforce a strict one-human-one-learner model.
MiniKit 2.0 is used to provide native Mini App behavior through MiniKitProvider. This includes walletAuth for SIWE-based authentication, sendHapticFeedback() to improve interaction during lesson loading and answer submission, and integration with the Web Share API to enable progress sharing within the World App webview.
The AI tutoring layer is powered by the Anthropic Claude API with structured JSON outputs. Claude is responsible for generating lessons, evaluating free-text and coding responses, and powering the mentor-style chat experience. Rate limiting is enforced both per IP and per learner, and sessions are secured using signed JWTs with server-side validation.
The frontend is designed as a seamless single-page mobile experience with no full page reloads. The interface includes glassmorphism-inspired headers, skeleton loading states, animated progress rings, and lightweight CSS-only confetti effects to create a responsive and engaging learning environment.

