-
-
The starting interface
-
detects incorrect answer and gives page number from source with the correct answer
-
dashboard tells you about mastery in individual topics
-
quiz result tells you the score and then tells you the weak topics
-
quiz allows us to practice from our selected source
-
The second interface ,currently chat option is selected which allows to study and ask questions
Project Introduction: As students, when we study, it is often very annoying and inefficient when we have to use multiple tools for studying, practicing, and analyzing, especially when we want to stay content-specific, and this is where BODHIX comes to your rescue.
What it does: The study companion that we created helps you to achieve all this at a single platform, and it takes your PDF notes, PPTs, YouTube video lectures and answers back from your sources with exact details, specifying page number, slides, and timestamps for your own lectures. It then allows you to take quiz and practice and analyze your weak topics.
How we built it - BODHIX has a React and Vite frontend and a Python FastAPI backend that talk only through a shared API contract, so two of us could build in parallel; the frontend never calls an AI model or holds a key. When a student adds a PDF, a PowerPoint deck or a YouTube video, the backend reads it with PyMuPDF, python-pptx or Youtube-transcript-API and splits it into chunks that keep their page, slide number or timestamp. Each chunk is embedded with the Gemini embedding model and stored in ChromaDB, and Gemini tags every source with topics. When the student asks a question, the backend retrieves the closest chunks and Gemini answers only from them, with citations, or says the material doesn't cover it. Quiz questions are written from the same chunks by one Gemini call, checked by a second call, and saved in SQLite so they are never repeated for the same student, while answers are checked in code to save our limited free-tier calls. After each answer, a Bayesian Knowledge Tracing model updates the student's mastery of that topic, which powers the weak-topics view, the history and the streak. We tested it with simulated students and a RAGAS-style answer-quality check.
Challenges we ran into: Our free Gemini key allowed only 20 text requests a day, so we saved and reused quiz questions, checked answers in code, and paced every call. Google's model was often busy, and those failed attempts still counted against our limit. Our unreliable internet cut ingestion halfway, so we added retries and saved every chunk as soon as it was embedded. We also worked from different networks and fixed CORS errors when connecting our frontend and backend. Finally, the official RAGAS package would not import in our environment, so we built a RAGAS-style judge with the same four metrics.
Accomplishments that we're proud of: Every answer in BODHIX carries a citation, and we checked that a PDF page, a slide number and a video timestamp point to the right place in the original. Off-topic questions are refused instead of answered from outside knowledge. As a beginner team, we built all of it on a free Gemini key and an ordinary 8 GB laptop. we definitely learned a lot as this was our first hackathon and it was a great experience.
Log in or sign up for Devpost to join the conversation.