What I Built
I built Campus Copilot, a small AI study assistant for a friend who was struggling to keep track of lecture notes, PDFs, assignments, and exam preparation.
The problem was pretty simple. They had all the study material they needed, but whenever they wanted to find something specific, they had to go through multiple PDFs and notes. And during exams, it became even harder to figure out what to study next.
So I wanted to build something that could make that process a little easier.
With Campus Copilot, you can upload your study material and then ask questions directly from it.
Some of the things it can do are:
Upload and read lecture notes and PDFs
Ask questions about the uploaded material
Give answers based on the uploaded documents
Show the source/page where the answer came from
Generate quizzes from the notes
Identify topics where the student is making mistakes
Suggest topics to revise
Create a simple revision plan
The main idea is that it isn't supposed to be another generic chatbot. It is meant to work with your own study material.
Demo
The basic workflow looks like this:
Upload notes → Ask a question → Get an answer with the source → Take a quiz → Find weak topics → Revise → Try again
How I Built It
I wanted to use open-source AI for this project instead of just connecting a normal chatbot API.
The main technologies I used are:
React + Vite for the frontend
Python + FastAPI for the backend
PyMuPDF for reading PDFs
ChromaDB for storing embeddings and finding relevant information
An open-weight LLM for generating the responses
An open-source embedding model for semantic search
SQLite for storing application data
The basic process is:
Upload PDF
↓
Extract text
↓
Split into smaller sections
↓
Create embeddings
↓
Store in ChromaDB
↓
User asks a question
↓
Find the relevant sections
↓
Send them to the local LLM
↓
Generate the answer with the source
I also wanted to keep the architecture flexible so I could experiment with different models and retrieval methods instead of being locked into one provider.
Why Does Open Innovation Matter?
For me, this was one of the most interesting parts of the project.
A study assistant will potentially have access to personal notes, assignments and other academic material. I didn't want the entire project to depend on a closed API where I had very little control over what was happening behind the scenes.
Using open-weight models gives me more control over the system.
I can decide which model to use, how the documents are processed, how the information is retrieved and, where possible, run the AI locally.
It also makes experimenting much easier. If I find a better model or a better retrieval technique, I can replace that part without rebuilding the whole application from scratch.
That's what I like about open innovation — it gives developers the freedom to actually understand, modify and improve the technology they are building with.
My Agent Session
I used an AI coding agent while building parts of the project and experimented with it during development.
Prize Categories
Build for a Friend
Open-source AI / AI-powered application
Why I Built It
I didn't want to build something just because AI is popular right now.
I wanted to build something that would actually be useful to someone I know.
Students already have a lot of information scattered across PDFs, WhatsApp messages, classroom notes and different platforms. I thought it would be interesting to bring some of that together and make studying a little less frustrating.
There is still a lot I want to improve in Campus Copilot, but this challenge gave me a good reason to finally turn the idea into a working project.
The goal is simple: make studying from your own notes a little easier.
Top comments (0)