Inspiration

Most people “learn” from YouTube lectures and textbook PDFs by watching or highlighting then forgets. Passive consumption doesn’t force retrieval, doesn’t catch misconceptions, and doesn’t send you back to the exact minute or page that mattered.

I wanted a tutor that starts from your material (a video, a chapter, a diagram, or just a topic), teaches from it, checks understanding on purpose, and stays grounded in the source.

What it does

Conceptualize is an adaptive AI tutor for real study material.

  • YouTube: ingests the lecture, windows the transcript with timestamps, and can cite moments like “Watch from 2:25.”
  • PDF / textbook: parses and indexes the document so answers stay tied to the text.
  • Image: uses vision to pull concepts from notes or diagrams.
  • Topic only: open a session with no upload and learn through dialogue. Teaching modes include Socratic dialogue (teach, then check), Find the Flaw (catch a planted error), active recall, and teach-back. The system tracks concepts you’ve shown mastery of versus ones you’re still shaky on, and uses that to adjust the next turns. When material is indexed, replies can cite the source instead of inventing from the model alone.

How we built it

  • Frontend: Next.js chat UI with server-sent events for token streaming, session flow, and citation display.
  • Backend: FastAPI with a LangGraph teaching loop — ingest/classify → retrieve (if material exists) → engage in the active mode → evaluate the learner’s signal → update covered/struggling concepts → optionally re-explain from a new angle.
  • Retrieval: hybrid RAG over Qdrant — dense embeddings (BGE-M3) plus sparse BM25, fused with reciprocal rank fusion, with optional cross-encoder reranking. YouTube chunks carry video id and time range for grounded citations.
  • Ingestion: background pipelines for YouTube (multiple transcript fallbacks → windowed chunks → embed), PDF (Docling/text → chunk → embed), and images (vision summary → session context).
  • LLM layer: multi-provider manager with a circuit breaker so a single rate-limit is less likely to kill a session. Core adaptation does not depend on tool calling.
  • State: Postgres for sessions, messages, sources, and learner profile; Qdrant for vectors.

    Challenges we ran into

  • YouTube under cloud IPs: caption fetch is unreliable from datacenter networks. Built a fallback chain (managed transcript API → Innertube → youtube-transcript-api → yt-dlp → Whisper) so one path can still succeed.

  • Latency vs. quality: local embeddings and free-tier LLMs are slow. Streaming the Socratic path and keeping structured modes (find-the-flaw, recall) as assembled replies kept the UI usable.

  • Teaching without interrogation: early prompts either lectured forever or only asked questions. Tightened the Socratic policy so math gets a related quick check after teaching, conceptual points aren’t quiz-spammed, and doesn’t re-ask the exact same example after user understands it.

  • Grounding: models invent plausible page numbers and timestamps. Citation post-processing only keeps references that map to retrieved chunks.

Accomplishments that we're proud of

  • A full loop from source → index → grounded tutor → check → mastery update, not a single chat completion over a pasted transcript.
  • YouTube as a first-class input with timestamp citations, not “summarize this video.”
  • Explicit teaching graph and hybrid retrieval that judges can read in the repo, not a black-box prompt dump.
  • Modes that actually change behavior (Socratic, find-the-flaw, recall, teach-back) behind one session model.

What we learned

  • Educational products live or die on when you test the learner, not only on how fluent the explanation is.
  • Hybrid sparse + dense retrieval matters for study material (formulas, names, definitions).
  • Free-tier providers need fallbacks and circuit breakers; the product has to survive a 429 mid-demo.
  • Shipping a coherent teaching policy in prompts is as much product design as model choice.

What's next for Conceptualize

  • Deeper visual integration: teach with diagrams, whiteboard-style examples while staying grounded in the learner’s material.
  • Faster responses and memory across sessions.

Built With

Share this project:

Updates

Submission history