Inspiration

Students often spend hours reviewing lecture slides, PDFs, and notes without knowing which concepts they truly understand. Traditional practice questions provide scores, but rarely explain how individual knowledge gaps are connected.

We built ExamPilot to turn passive studying into an interactive, personalized learning experience. Our goal is to help students identify what they know, discover what they need to improve, and study more effectively.

What it does

ExamPilot is an AI-powered study and assessment platform that transforms course materials into structured learning experiences.

Its key features include:

  • AI Document Processing: Extracts content from uploaded course materials, including PDFs, presentations, text files, and supported images.
  • Gemini-Powered Question Generation: Uses Google's Gemini models to identify topics and generate practice questions based on course content.
  • Mock Exams and Topic Practice: Allows students to test their understanding through different assessment modes.
  • Mastery Tracking: Analyzes practice results to estimate understanding and identify weaker topics.
  • Interactive Knowledge Graph: Visualizes topics and their relationships using color-coded nodes that reflect learning progress.
  • AI Tutoring: Provides contextual explanations to support students when they encounter difficult concepts.
  • Anki Export: Helps students review generated questions using flashcards.

Rather than simply giving students a score, ExamPilot helps them understand where to focus next.

How we built it

We developed ExamPilot primarily in Python, using Streamlit for the interactive interface.

We integrated the Google Gemini API for AI-assisted topic extraction, question generation, relationship generation, and tutoring.

Our document-processing pipeline uses tools such as PyMuPDF, python-pptx, and Tesseract-based OCR. We used Pydantic to structure and validate application data.

The assessment and mastery modules process student answers and calculate topic-level learning states. The Knowledge Graph uses Streamlit Agraph to visualize those states and illustrate relationships between concepts.

We also developed a PostgreSQL persistence layer to support future storage and recovery of student learning data.

The team collaborated through GitHub using feature branches, pull requests, and automated tests.

Challenges we ran into

One of our biggest challenges was connecting independently developed components into a consistent workflow.

AI-generated output needed careful validation before being passed to the exam and visualization systems. We also needed to ensure that mastery calculations remained consistent between mock exams and topic-specific practice.

Another challenge was developing a Knowledge Graph that could display isolated topics and update node colors as students completed assessments.

We addressed these challenges through shared data contracts, modular services, automated testing, and integration reviews.

Accomplishments that we're proud of

We built a working learning workflow connecting AI-generated educational content, practice assessments, mastery analysis, and interactive knowledge visualization.

We are particularly proud of the Knowledge Graph, which transforms assessment results into a visual representation of learning progress.

We also established a collaborative engineering workflow that allowed four team members to build and validate different components in parallel.

What we learned

We gained practical experience in integrating generative AI with a structured software application, designing interfaces between independently developed modules, testing data-processing pipelines, and coordinating development through GitHub.

Most importantly, we learned that effective educational AI should do more than generate answers: it should help learners understand their progress and decide what to study next.

What's next for ExamPilot

Our next steps include completing end-to-end database persistence, improving personalized study recommendations, expanding document-processing capabilities, and refining the interface based on student feedback.

Ultimately, we envision ExamPilot as an adaptive learning companion that helps students move from memorization toward deeper understanding.

Built With

Share this project:

Updates

Submission history