Inspiration Students drowning in PDFs, slides, and lecture notes — then asking a general chatbot for help and getting a confident, well-written answer that's completely made up. The gap that actually matters isn't "can AI generate text," it's "can it help me understand my course and prove it." Existing study apps don't know your material; general AI doesn't cite it. We built the thing in between: a companion grounded in evidence, not vibes. What it does Studywise turns your own course material into verified understanding. Drop in PDFs, slides, and notes — it builds a private knowledge base, then helps you learn it: a tutor that answers only from your sources with citations, a misconception detector that catches the exact mix-up ("oxygen makes the ATP directly…" → "Oxygen is the final electron acceptor — possible mix-up spotted"), adaptive practice questions, a Leitner-spaced flashcard mode, a concept map that shows which prerequisite is blocking you, and a portable learning record of mastery with evidence. Everything runs local-first — your material never leaves your device unless you say so. How we built it A vanilla HTML/CSS/JS single-page app (no framework, no build step) so it runs anywhere. Core reasoning is fully on-device: deterministic retrieval, misconception fingerprinting, evidence ledger, and the Leitner scheduler. Enhanced mode is opt-in and plugs in Gemini (via llmChat/llmVision) for grounded RAG — with a hard rule: it may only answer from indexed material, else it refuses. PDF figure extraction and Whisper transcription run via WASM in the browser. Semantic retrieval uses Xenova MiniLM embeddings. It's a PWA with a service worker precaching the shell. Evaluated with a RAGAS harness to measure faithfulness and citation accuracy. Challenges we ran into

  • Grounding without hallucination. The hardest constraint: never fabricate. We built refusal paths and source-citation requirements into the answer pipeline itself, then verified them.
  • Detecting misconceptions, not just wrong answers. Wrong answers are easy; spotting the specific conceptual mix-up and naming it took custom fingerprinting.
  • Local-first + real AI. Keeping the default path fully offline while offering a powerful opt-in LLM path, with clear privacy controls.
  • Migration & state integrity. Renaming a topic has to migrate mastery, review cards, misconceptions, evidence, and study plans atomically — we wrote a full migration routine and tested it.
  • Testing a no-build app headlessly. We stood up a jsdom runtime harness (8+ suites) to catch real crashes that static checks hid. Accomplishments that we're proud of
  • Evidence receipts — every claim traces to a passage in your notes.
  • Cross-source disagreement detector — flags when your own sources contradict each other.
  • Misconception fingerprinting that names the mix-up, not just "wrong."
  • Transfer ladder — checks whether you can apply a concept to something new.
  • Portable learning record you own and can export.
  • Full offline PWA, a RAGAS eval harness, and a polished live demo. Ran ~10 test suites end-to-end with 0 errors. What we learned Grounded AI is a systems problem, not a prompt problem. The value came from the evidence layer, refusal logic, and privacy controls around the model — not the model itself. Also: build your own eval harness first; it caught crashes that manual testing never would have. And "runs fully local, always" turned a nice demo into something students can actually trust with their coursework. What's next for Studywise
  • Deeper adaptive difficulty — tighten the transfer ladder into a full mastery model.
  • Spaced-repetition 2.0 — FSRS scheduling tied to your actual forgetting curve.
  • Live sync (optional, E2E-encrypted) — pick up on your phone without breaking local-first.
  • Instructor mode — see where a whole cohort is stuck (aggregate, anonymized).
  • More formats — lecture audio, video, and handout OCR.
  • Mobile capture — snap a whiteboard, auto-index it.

Built With

Share this project:

Updates