You can check out our project in action here:
Feel free to explore the platform, generate your custom learning roadmap, and try out the quiz-to-NFT flow!
Proof Of Learn is our submission for the NearX & ZKVerify Hackathon.
This project combines AI-generated learning roadmaps with Web3 incentives to create a more interactive and rewarding learning experience. Users receive a personalized roadmap powered by AI, and upon completing a knowledge quiz, they are rewarded with an on-chain NFT that serves as proof of their learning.
By integrating AI + Web3, we turn traditional education into a gamified, goal-oriented journey — increasing motivation, engagement, and verifiability.
- 📚 AI-Powered Roadmaps: Generate personalized study plans based on your goals or topics of interest.
- 🧪 Interactive Quizzes: Validate your learning through dynamic questions.
- 🏆 NFT Certifications: Earn blockchain-based NFTs when you pass a quiz, acting as verifiable proof of knowledge.
- 🌐 Seamless Web3 Integration: Use your wallet to claim NFTs and interact with the blockchain layer.
- 💡 Engaging UX: Smooth animations and intuitive UI to enhance the user journey.
- Solidity
- Foundry
- TypeScript
- Node.js
- Express.js
- Zod
- Gemini AI SDK
- TypeScript
- React
- Vite
- Zod
- Zustand
- React Query
- Framer Motion
- Ethers.js
Before running the project, ensure you have the following installed:
- Docker – Used to run local development services (e.g., database)
- Node.js (v18+) – JavaScript runtime for both frontend and backend
- Gemini API Key – Required to access AI-generated roadmaps
- Get yours from Gemini API
git clone https://github.com/your-username/proof-of-learn.git
cd proof-of-learn- Move to
/apifolder
cd api- Copy ".env.example" file and create a ".env"
cp .env.example .envAdd an Gemini API Key
GOOGLE_AI_API_KEY=your_key_hereAlso add a JWT_SECRET
JWT_SECRET=your_secret_here- With docker running on your machine, following commands:
it will compose the docker file
pnpm services:uprun pending migrations
pnpx prisma migrate devrun development server
pnpm dev- Or, just run this command:
pnpm dev:all- Server is running at http://localhost:3000
- To populate database with seed data, run:
pnpm database:seedMove to the /frontend folder
- Copy ".env.example" file and create a ".env"
cp .env.example .envInstall Dependencies
pnpm installRun application
pnpm devMeet the builders of the project:
|
Pablo Montes |
Yuri Bodó |
Gabriel Alves |
João Soares |
💬 Feel free to reach out to us for collaboration or questions!