Skip to content

💡: Add Difficulty & Topic Filters in Quiz Generator #102

Description

@Deekshithshaiva05

Is your feature request related to a problem? Please describe.
Yes. Currently, the Quiz Generator on /dashboard/quizzes generates quizzes based only on the input content or topic entered by the user. However, there's no option to control the difficulty level or specify a subject/topic category like "Math", "Biology", or "History".

This makes it difficult for users to:

Generate quizzes suitable for different age groups (e.g., school vs. college).

Practice topic-specific questions.

Control how challenging the questions are.

Describe the solution you'd like
I would like to introduce two dropdown filters in the Quiz Generator UI before the user clicks "Generate":

✅ Filters to Add:
Topic Selector: Dropdown with options like:

  • General Knowledge
  • Math
  • Science
  • History
  • Literature
  • Computer Science

** Difficulty Selector: Dropdown with:

  • Easy
  • Medium
  • Hard

🎯 Functional Flow:
User selects topic and difficulty level.

These inputs are passed along with the original input text to the backend/AI prompt.

The AI is guided using prompt engineering to generate relevant quiz questions based on those filters.

Describe alternatives you've considered

Letting the AI infer difficulty from context (inaccurate and inconsistent).

Adding a separate field for "quiz instructions", but that’s less user-friendly and hard to standardize.

Using dropdowns ensures a structured and intuitive interface while maintaining clean prompt formatting.

Additional context

This would require minor UI updates and prompt modifications in the AI API handler. Example prompt to send:

"Generate 5 multiple-choice questions on the topic of "Math" with "Medium" difficulty."

Benefits:
More personalized and useful quizzes.

Better learning experience for students at different levels.

Lays the foundation for future quiz analytics and progress tracking.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions