Quiza — AI-Powered Active Recall & Study Platform
Turn your study materials into interactive quizzes, discover your weak spots through AI mistake analysis, and master them with personalized practice.
Inspiration
Students often spend hours rereading notes, slides, and textbooks without knowing what they actually understand. Even after taking practice tests, they may see their score and move on without knowing which concepts they genuinely need to improve.
We built Quiza around a simple idea: your mistakes should determine what you study next.
What it does
Quiza turns uploaded study materials into context-grounded quizzes using Retrieval-Augmented Generation (RAG). Students answer questions, receive explanations for their mistakes, and have their performance tracked by topic.
Rather than treating every wrong answer as a weakness, Quiza looks at performance across attempts to identify persistent knowledge gaps. Those weak topics are then used to generate targeted practice quizzes, allowing students to repeatedly practice and measure whether they are improving.
Upload → Quiz → Make mistakes → Analyze → Detect weaknesses → Targeted practice → Measure improvement.
How we built it
Quiza uses React + Vite for the frontend and FastAPI/Python for the backend. Documents are parsed with PyMuPDF and python-docx, chunked, embedded, and stored in PostgreSQL with pgvector.
Relevant document sections are retrieved before quiz generation, giving the LLM the source context needed to generate grounded questions and explanations.
We also built performance tracking that associates questions with topics and aggregates results across attempts to identify persistent weaknesses and drive targeted quiz generation.
Challenges we ran into
Grounding AI-generated content: We needed questions and explanations to remain tied to the student's material rather than allowing the LLM to invent information. We addressed this with RAG, structured Pydantic schemas, validation, and controlled retries.
Detecting genuine weaknesses: A student getting one question wrong does not necessarily mean they are weak in that topic. We had to design weakness tracking around performance across multiple attempts so that persistent mistakes carry more weight than isolated errors.
Deployment reliability: Render cold starts affected response times, while browser extensions sometimes blocked our /health endpoint. We introduced automated keep-alive handling, client-side warmup notifications, and dedicated API ping endpoints.
Accomplishments we're proud of
We built a complete learning loop from document ingestion to measurable improvement, where a student's mistakes directly influence what they practice next.
What we learned
We learned that effective AI learning requires more than an LLM. Retrieval quality, structured outputs, performance signals, and feedback loops are all critical to building useful personalization.
What's next for Quiza
We plan to add spaced repetition, multimodal support for diagrams and handwritten notes, collaborative study groups, and a browser extension for generating micro-quizzes while reading online.
Contributors
- Miracle-Colours Elvis (@miracle-colours) — UI/UX and Frontend Engineer
- John A. Samuel (@jayo14) — Backend and ML Engineer
Built With
- celery
- fastapi
- gemini
- groq
- javascript
- nvidia-nim
- openai
- postgresql
- python
- react
- redis
- s3
- supabase
- vectordb
Log in or sign up for Devpost to join the conversation.