App to help with learning text material by answering closed and open questions related to it.
- Generate closed (multiple choice) and open questions from any text
- Support for PDF and TXT file uploads
- OpenAI API integration (API key stored securely in browser)
- Spaced repetition learning with configurable question pool
- Progress tracking with learning and accuracy bars
- Dark theme UI with modern design
- Fully responsive - works on desktop, tablet, and mobile devices
- Settings persistence in localStorage
- Quiz progress saved across page reloads
- Quiz Library - save and organize your quizzes for later use
- Hints: Get AI-generated guidance without revealing the answer (doesn't count as wrong)
- Explanations: After answering, see why the answer is correct with direct quotes from the source text
- Show Answer: Reveal the correct answer when stuck (counts as incorrect for learning purposes)
- Accept My Answer: Override AI's judgment if you believe your answer is correct
- Remove Question: Remove poorly generated questions from the quiz
- Question Style: Choose between Conceptual (tests understanding) or Text-based (tests recall)
- Content Focus: Focus on important content only or include everything
- Difficulty Level: Easy, Medium, Hard, or Mixed
- Custom Instructions: Add your own instructions for question generation
- Answer Count: Configure min/max answers per closed question (2-10 range)
- Points System: Earn points for correct answers with streak multipliers
- Achievements: Unlock badges for milestones, streaks, speed, mastery, and more
- Statistics: Track your progress with detailed stats and accuracy metrics
- Save quizzes with title, description, subject, and teacher info
- Load quizzes from your library
- Edit quiz metadata
- Duplicate quizzes
- Delete unwanted quizzes
- Export quizzes to JSON format
- Import questions from JSON files
- Share quizzes with others
- Configure number of closed/open questions
- Allow/force multiple correct answers
- Configurable answer count (2-10 answers per question)
- Customize learning pool behavior (initial copies, retry copies)
- Configure question style, difficulty, and content focus
- 1-9, 0: Select answer options (0 = 10th answer)
- Space/Enter: Check answer or proceed to next question
- S: Show answer (before checking)
- H: Get hint (before checking)
- E: Show explanation (after checking)
- Escape: Close modals
- User profiles and cloud sync
- Public quiz sharing
-
Clone the repository:
git clone https://github.com/michaeleight/QuizAI.git cd QuizAI -
Install dependencies:
npm install
-
Run development server:
npm run dev
-
Open the app in your browser and enter your OpenAI API key when prompted.
- React 19 + TypeScript
- Vite
- Tailwind CSS
- OpenAI API
Contributions are welcome! Fork the repository and submit a pull request.
This project is licensed under the MIT License.