-
-
Diagnostic quiz (in progress) — Each question is grounded in the actual source material.
-
Results (weak areas) — Weak topics are flagged automatically, with AI feedback summarizing strengths and gaps.
-
Growth screen (full) — From diagnosis to demonstrated improvement the full LearnLens loop in one screen.
-
Upload in progress — LearnLens reads the document and analyzes topics in the background.
-
Upload screen — Upload any PDF study material to get started.
-
Results (top) — Results show topic-by-topic mastery, not just an overall score.
-
Growth screen (top) — The core result: measurable mastery growth, topic by topic.
-
Reassessment — A fresh quiz on the same topics no repeated questions checks what actually stuck.
-
Tutor chat — A personal AI tutor explains weak topics directly, grounded in the student's own document.
-
Diagnostic quiz (start) — A diagnostic quiz is auto-generated from the document to test real understanding, not memorization.
-
Learning map — The AI extracts a structured learning map from the material topics, difficulty, and descriptions.
Inspiration
Students often spend hours reading lecture notes, watching tutorials, and asking AI questions without knowing whether they actually understand the material. We realized that most AI learning tools focus on answering the questions students ask. But what about the questions they don't know they should be asking? That inspired me to build LearnLens an AI learning companion designed around a simple idea of not just answering the student but also discover what the student doesn't know.
What it does
LearnLens turns existing study materials into a personalized learning experience. A student uploads a learning document, and LearnLens Understands the material and identifies its key concepts, Assesses the learner through an AI-generated diagnostic test, identifies knowledge gaps and shows the learner their strengths and weaknesses, Provides targeted tutoring focused specifically on weak concepts, Retests the learner after tutoring, Measures growth by comparing their understanding before and after the learning intervention. Instead of a simple "chat with your PDF" experience, LearnLens creates a closed-loop learning cycle: Learn → Assess → Diagnose → Tutor → Retest → Measure Growth
How we built it
LearnLens uses a Python/FastAPI backend and a React-based web interface.
When a document is uploaded, its content is extracted and divided into meaningful chunks. The chunks are converted into vector embeddings and stored in a vector database, allowing LearnLens to retrieve the most relevant parts of the learning material when answering questions.
I use Retrieval-Augmented Generation (RAG) to ground the AI tutor in the student's actual learning material rather than relying solely on the model's general knowledge.
The application also uses an LLM to generate learning maps, diagnostic questions, explanations, and evaluations. A relational database stores application data such as documents, topics, assessments, attempts, and learning progress.
The overall architecture is:
Study Material ↓ Document Processing ↓ Chunking & Embeddings ↓ Vector Database ↓ RAG Retrieval ↓ AI Learning Engine ↓ Assessment → Knowledge Gaps → Tutoring ↓ Reassessment ↓ Measured Growth
Challenges we ran into
One of my biggest challenges was designing a reliable learning assessment system. Generating questions is relatively easy, determining whether a learner actually understands a concept is much harder.
I also had to balance retrieval quality, LLM responses, structured outputs, and a limited hackathon development window.
Another challenge was deciding what not to build. With limited time, I deliberately focused on one complete learning loop instead of adding many disconnected AI features.
That decision allowed me to prioritize a working experience:
Upload → Assess → Discover Weaknesses → Tutor → Retest → Measure Growth
Accomplishments that we're proud of
I'm proud that i turned a simple idea into a working end-to-end adaptive learning system within the hackathon timeframe.
Built a complete adaptive learning loop: LearnLens can analyze a learning document, assess the learner, identify knowledge gaps, provide targeted tutoring, and reassess the learner to measure growth. Implemented RAG from the ground up: I built a pipeline for PDF extraction, text chunking, embeddings, vector storage, semantic retrieval, and grounded AI responses. Combined AI assessment with personalized tutoring: Instead of simply answering questions about a document, LearnLens uses assessment results to determine which concepts the learner needs help with. Made learning progress measurable: The system compares performance before and after tutoring so learners can see tangible improvement rather than simply receiving an AI-generated explanation. Built a working full-stack application: I connected a FastAPI backend, AI services, database, vector database, and web interface into a single end-to-end experience. Learned by building: This project gave us hands-on experience with RAG, embeddings, vector databases, LLM-based structured outputs, relational databases, and adaptive learning systems. Kept the product focused: Rather than building a collection of disconnected AI features, I focused on one meaningful problem and built a complete learning experience around it.
What we learned
Building LearnLens gave me practical experience with several areas of AI engineering that are difficult to fully understand through tutorials alone.
I learned how to build a RAG pipeline from document processing through semantic retrieval, how vector databases differ from traditional databases, how embeddings enable semantic search, and how structured LLM outputs can be integrated into a reliable application.
I also learned that building an AI product is not simply about connecting an LLM to an interface. The real challenge is designing a useful system around the model including state, context, evaluation, user experience, and measurable outcomes.
What's next for LearnLens
LearnLens is currently an MVP, but the concept can definitely grow into a much broader adaptive learning platform.
Future versions would support persistent learner profiles, multiple learning materials, long-term mastery tracking, spaced repetition, adaptive difficulty, personalized learning paths, multimodal learning, and richer progress analytics.
The goal is simple:
Help learners understand not only what they are studying, but what they actually understand and what they should learn next.
Built With
- api
- chromadb
- embeddings
- fastapi
- javascript
- openai
- pypdf
- python
- rag
- react
- sqlalchemy
- sqlite
- vector
- vite
Log in or sign up for Devpost to join the conversation.