Skip to content

MichaelEight/QuizAI

Repository files navigation

QuizAI

App to help with learning text material by answering closed and open questions related to it.

Features

Core Features

  • 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

Learning Assistance

  • 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 Generation Options

  • 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)

Gamification

  • 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

Quiz Library

  • Save quizzes with title, description, subject, and teacher info
  • Load quizzes from your library
  • Edit quiz metadata
  • Duplicate quizzes
  • Delete unwanted quizzes

Import & Export

  • Export quizzes to JSON format
  • Import questions from JSON files
  • Share quizzes with others

Settings

  • 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

Keyboard Shortcuts

  • 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

Future Plans

  • User profiles and cloud sync
  • Public quiz sharing

Installation

  1. Clone the repository:

    git clone https://github.com/michaeleight/QuizAI.git
    cd QuizAI
  2. Install dependencies:

    npm install
  3. Run development server:

    npm run dev
  4. Open the app in your browser and enter your OpenAI API key when prompted.

Tech Stack

  • React 19 + TypeScript
  • Vite
  • Tailwind CSS
  • OpenAI API

Contributing

Contributions are welcome! Fork the repository and submit a pull request.

License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors