About OmniTutor AI

OmniTutor AI is a personal tutor built from your own course material. Upload a textbook PDF, a slide deck and a lecture video, and it builds a course you can learn from. Its answers cite the exact page, slide or second they come from. It declines questions your material doesn't cover. It also tracks how well you know each topic, and adapts quizzes and explanations to that.

Inspiration

Students study from three formats at once: a textbook, slides and recorded lectures. General chatbots answer confidently from outside the course, can't show where an answer comes from, and treat every student the same. We wanted a tutor that only teaches from your material, admits what it doesn't know, and gets to know you as you study.

What We Built

  • Multimodal knowledge base: PDFs (including figures and tables), PPTX slides and MP4 lectures are ingested with no manual preprocessing. The course is organised into topics, concepts and prerequisites.
  • Grounded tutor: every claim is cited. Click a citation and the PDF opens at the page, the slide is shown, or the video jumps to the timestamp. Outside knowledge is clearly labelled, and off-material questions are declined.
  • Personalisation: onboarding asks about tone, learning style, prior level and goal, and these shape every answer. Chat history is saved per notebook.
  • Adaptive quizzes: MCQ, numerical and short-answer questions. Each one is verified by a blind second pass and never repeats. A diagnostic quiz handles cold start. The report lists weak topics, likely misconceptions and citations to revisit.
  • Learner model: Bayesian Knowledge Tracing per topic, updated by quizzes, conversations and flashcards.
  • Study tools: course mind map, verified spaced-repetition flashcards, progress dashboard, and private notebooks per subject.
  • Evaluation page: RAGAS-style metrics and simulated-student results.

How We Built It

  • Stack: a Next.js and TypeScript monorepo, with Postgres through Prisma and Google Gemini for reading, reasoning and embeddings.
  • Contract: every request and response is validated against a shared Zod contract.
  • One wrapper for Gemini: all model calls go through a single module with rate limiting, caching, retries and key rotation.
  • Ingestion:
    • PDFs are read one page per call.
    • Slide text comes straight from the file's XML, and Gemini describes only the images.
    • Videos are processed in windows of up to 60 seconds, so timestamps stay accurate.
  • Server-side guards: the server checks the model's structured output. It drops citations that weren't retrieved, relabels uncited claims as outside knowledge, and grades MCQ and numerical answers in code.
  • Evaluation: a 58-question test set, including 21 off-material questions, scored by a different model as judge. Results: faithfulness 0.95, citation accuracy 100%, zero false declines. In simulated students, adaptive quizzes beat random ones on mastery gain with 0% repeated questions, against 30% for random.

Challenges We Faced

  • Accurate video timestamps: analysing a whole lecture in one call drifted, so we switched to short windows with real offsets.
  • Knowing when to decline: similarity scores for in-material and off-material questions overlapped, so a single threshold wasn't enough. The model now also judges coverage, and the server enforces it.
  • Overfitting: an audit found our prompts were tuned to our test data. We made them subject-agnostic and re-tested on unseen PDFs, decks and videos.
  • Free-tier quotas: we built a limiter, a disk cache and a usage ledger so re-runs cost nothing.
  • Privacy: we isolated every account's files, chats and progress, with per-account notebooks.

What We Learned

  • Grounding is a server-side job. Never trust the model's citations without checking them against what was actually retrieved.
  • Verification beats generation: blind-checking questions and flashcards catches real errors.
  • Measure early. A test set with off-material questions changed several of our design decisions.
  • Personalisation is more than tone. It needs a learner model that every interaction updates.

What's Next

  • Hindi and Hinglish support, plus audio explanations.
  • A study planner driven by mastery and exam dates.
  • Better understanding of diagrams drawn with slide shapes.
  • Longer lectures and YouTube input.
  • A study with real students to confirm the simulated learning gains.

Built With

Share this project:

Updates

Submission history