Inspiration

Students have hundreds of pages of lecture slides, notes, and syllabi, but finding the exact information they need is frustrating. Generic AI chatbots can give convincing answers without knowing what the professor actually taught.

I built ProofNotes to make studying more focused, private, and grounded in course material.

What it does

ProofNotes is a fully local AI study workspace that turns uploaded course documents into something students can actually learn from.

  • Course-specific conversations: Organize PDFs by course and ask questions without mixing unrelated classes.
  • Source-backed answers: Get explanations with references to the original documents and page numbers.
  • Recall Lab: Practice concept-based questions at different difficulty levels instead of memorizing slide text.
  • Coverage Radar: Compare personal notes and lecture material to identify potential gaps.
  • Claim Inspector: Examine whether uploaded material supports a particular statement.
  • Local AI: Documents, chat history, retrieval, and model inference stay on the user's machine.

How we built it

We built the backend using Python and FastAPI, with SQLite for persistent conversations, course organization, and document indexing.

Our retrieval pipeline combines semantic embeddings with keyword-based search to find relevant material. We use Qwen3 Embedding 0.6B for embeddings and Qwen3.6 27B through Ollama for local language-model inference.

PyMuPDF handles PDF extraction, with local OCR support for documents that require it. The frontend uses HTML, CSS, and JavaScript with a responsive dark interface.

Challenges we ran into

The hardest problem wasn't making an AI chatbot. It was making its answers useful and trustworthy.

Early versions sometimes failed to retrieve obvious definitions, rejected valid questions, or generated poor study questions from slide examples.

We improved source selection, added document-specific retrieval, built faster extractive recall questions, and separated source-backed information from general AI explanations.

Accomplishments we're proud of

We created a working local study application with course-aware conversations, persistent document storage, original-page citations, recall practice, and a unified study interface.

The entire AI pipeline can operate without a cloud inference API after the models and dependencies are installed.

What we learned

A larger language model doesn't automatically make a study tool accurate. Good retrieval, clear source attribution, and properly designed learning workflows matter just as much as model quality.

What's next

We want to improve answer evaluation across more courses, introduce adaptive spaced repetition, and build stronger connections between related concepts across lectures.

Built With

Share this project:

Updates

Submission history