Inspiration
Students rarely study from one place. Lectures are on video, notes are in slides, and details sit in a textbook. When they turn to a general AI chatbot, the answers often don't match their course, and the bot has no idea what they already understand. We wanted a study companion that only teaches from your own material, shows its sources, and adapts to you.
What it does
StudyMate turns lecture videos, textbooks and slide decks into one source-cited knowledge base, then uses it to tutor and test you.
- Multimodal ingestion: upload PDFs, slides and videos with no manual preprocessing. Text, transcripts and figures are extracted automatically.
- Concept map: content is organised into topics, concepts and prerequisites, and every unit links back to its page, slide or video timestamp.
- Grounded tutor chat: answers carry citations that open the exact page, slide or timestamp. If the material doesn't cover a question, StudyMate says so and clearly separates any outside knowledge.
- Adaptive assessments: quizzes and mock exams (MCQ, short answer, numerical) on any scope you choose. Each question is tagged with topic, source and difficulty, verified for correctness, and never repeated.
- Learner model: per-topic mastery updates after every quiz and chat, so weak topics, misconceptions and study plans reflect what you actually know.
- Dashboard: a mastery heatmap, a course flow map and a post-quiz report with cited feedback.
How we built it
- Ingestion: PyMuPDF for text and page images, a vision LLM to caption diagrams, and Whisper for timestamped video transcripts. Every chunk keeps its origin (page, slide or timestamp).
- Knowledge graph: an LLM extracts topics, concepts and prerequisite edges, and each content unit is tagged to concepts.
- Grounded RAG: hybrid retrieval (BM25 + embeddings) with reranking. Answers must cite retrieved excerpts, and a verifier pass removes unsupported claims. Low retrieval confidence triggers a refusal.
- Question engine: questions are generated from source units, then verified (numerical answers by executing code, other questions by blind cross-model validation). Embedding similarity rejects near-duplicates.
- Learner model: Bayesian Knowledge Tracing per concept:
$$P(L_{t+1}) = P(L_t \mid obs) + \bigl(1 - P(L_t \mid obs)\bigr)\,P(T)$$
with slip and guess parameters in the posterior update, plus an exponential forgetting term $e^{-\Delta t / s}$ for spaced review.
- Evaluation: RAGAS for faithfulness, answer relevancy, context precision and recall on a team-built test set, plus simulated students comparing adaptive vs random question selection.
- UI: Streamlit, SQLite and ChromaDB.
Challenges we ran into
- Keeping citations precise, down to the right page or a timestamp within a few seconds, rather than just the right document.
- Getting useful information out of diagrams and figures.
- Making sure generated questions had correct answer keys, since a wrong key corrupts the learner model.
- Deciding when the tutor should refuse versus answer from partial evidence.
- Evaluating personalization honestly without real students.
Accomplishments that we're proud of
- Citations that open the exact page, slide or timestamp.
- Correct refusal on [X]% of off-material questions in our test set.
- Faithfulness of [X] and context recall of [X] on RAGAS.
- Simulated students gained [X] mastery on average with adaptive selection vs [X] with random, with a [X]% question repetition rate.
What we learned
- Grounding is mostly a retrieval-quality and refusal-threshold problem, not just a prompting problem.
- Verified questions matter more than many questions.
- Even a simple BKT model with forgetting and prerequisite awareness makes personalization measurable.
- Honest evaluation, including failure cases, tells you far more than a single headline number.
What's next for StudyMate
- Hindi and other Indian-language explanations over English lectures.
- Audio tutoring sessions.
- Auto-generated flashcards, revision slides and audio briefs for weak topics.
- Exam-date-aware study schedules.
- Pilots with real students to validate the learner model.
Log in or sign up for Devpost to join the conversation.