A serverless quiz generation platform powered by AI
Study smarter with dynamically generated quizzes from any topic or PDF
Mindryx is a learning-focused quiz and AI study platform that transforms your content into engaging multiple-choice quizzes using AI. Whether you're studying from textbooks, lecture notes, or exploring new topics, Mindryx makes learning interactive and effective.
Production Branch:
- 🎯 Vercel deployment with Supabase Serverless Functions
- 🗄️ Supabase PostgreSQL database
- 💳 Stripe sandbox experimentation
- 🔐 Server-side authentication for API route protection
- 🚀 Production-optimized performance and security
-
Clone the repository
git clone https://github.com/humza987/mindryx.git cd mindryx -
Install dependencies
npm install
-
Set up environment variables
- Copy
.env.exampleto.env.local - Add your Clerk Auth keys
- Add Supabase project URL and anon key
- Add Gemini API key from Google AI Studio (generous free tier)
- Copy
-
Set up Supabase
- Create a new Supabase project
- Deploy the edge functions in
/supabase/functions/
-
Run the development server
npm run dev
- 📝 PDF & Topic-Based Quiz Generation — Enter any subject and get tailored questions
- 📄 PDF Intelligence — Upload documents with automatic text extraction and OCR
- 📊 Progress Tracking — Review past quizzes and monitor learning progress
- 🔐 Secure Authentication — Powered by Clerk for seamless user management
- 🤖 In-Browser AI Chat — Local LLM running entirely in your browser (WebLLM)
Built with modern serverless architecture using Next.js for the frontend, Supabase for database and edge functions, Clerk for authentication, Gemini Flash LLM for AI generation, and WebLLM for in-browser AI capabilities.
Frontend
- Next.js 15 with App Router
- TailwindCSS 4 for styling
- Clerk authentication
- Lucide Icons
- Tesseract.js + pdfjs-dist for OCR
Backend
- Supabase PostgreSQL database
- Supabase Edge Functions (Deno)
- json_repair for robust JSON parsing
AI & ML
- Gemini Flash 2.0 Lite LLM API for AI generation
- WebLLM for in-browser chat
- Tesseract OCR for document text extraction
POST /quiz/new # Request new quiz generation
GET /quiz/{quizId} # Retrieve specific quiz
POST /submit # Submit quiz answers
GET /past-quizzes # List completed quizzes
GET /past-quiz/{quizId} # Get quiz with results
GET /outstanding-quizzes # List pending quizzes
Production Branch (Current)
- Production-ready deployment
- Frontend: Vercel deployment
- Backend: Supabase Serverless Edge Functions (Deno)
- Database: Supabase PostgreSQL
- Authentication: Server-side API route protection
Testing Branch (Learning)
- Experimentation with serverless patterns
- Infrastructure: LocalStack + Docker for AWS emulation
- Database: DynamoDB (emulated)
- Deployment: Local development only
This is a learning project built for educational purposes. Contributions and suggestions are welcome!
- Enhanced OCR for complex PDF layouts and tables
- Lesson generation with flashcards and gamification
- Mobile experience improvements
- Analytics dashboard for learning progress
- Spaced repetition for optimal retention
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Submit a pull request with a clear description
- Lesson generation with flashcards and notes summarization
- WebLLM optimization for better in-browser AI performance
- Error recovery with robust failure handling
- Collaborative quizzes for sharing and remixing
- Export options (PDF and Anki deck generation)
This project is licensed under the MIT License — feel free to use, modify, and distribute as you see fit.
Built with amazing developer tools:
- Supabase for BaaS
- Google AI Studio for accessible AI APIs
- Clerk for authentication
- Tesseract.js for OCR capabilities
- WebLLM for in-browser AI
- Next.js team for the framework
Made with passion as a learning project
Questions? Ideas? Found a bug?
Open an issue




