This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend
What I Built
StudyMate — AI Study Partner Built for a Friend
I built StudyMate, an AI-powered study companion designed for a real friend who wanted a simpler way to understand class notes and prepare for exams.
The problem was simple: students often have long PDF notes, but finding the right information and understanding difficult topics can take a lot of time.
StudyMate lets them:
- 📄 Upload PDF study notes
- 💬 Ask questions about their notes
- 🧠 Get simple explanations of difficult topics
- 📝 Generate practice quizzes
- 📚 View uploaded documents and extracted sections
- 🗑️ Delete documents when they are no longer needed
The idea was not to build another general-purpose chatbot. I wanted to build something focused on one real person's study workflow:
Notes → Understanding → Practice
Demo
🌐 Live Demo: https://studymate-local-frontend.onrender.com/
The live version is deployed and can be used directly in the browser.
Code
💻 GitHub Repository: https://github.com/Jaswanth-Kumar-2007/StudyMate-Local
The complete source code for the frontend and backend is available in the repository.
How I Built It
StudyMate is built with React + TypeScript + Vite on the frontend and FastAPI + Python on the backend.
The main AI pipeline is:
PDF Study Notes
↓
PDF Text Extraction
↓
Text Chunking
↓
TF-IDF Retrieval
↓
Relevant Study Sections
↓
Qwen Open-Weight Model
↓
Answer / Explanation / Quiz
the deployed version, I use Qwen/Qwen3-4B-Instruct-2507 through Hugging Face Inference Providers.
I also designed the project so that the AI layer can be run locally using Ollama with an open-weight Qwen model.
Tech Stack
Frontend
- React
- TypeScript
- Vite
- Lucide React
Backend
- Python
- FastAPI
- pypdf
- scikit-learn
AI
- Qwen/Qwen3-4B-Instruct-2507
- Hugging Face Inference Providers
- Ollama for local inference
Database
- MongoDB Atlas
Deployment
- Render
MongoDB is used to persist the extracted document information and text chunks.
Why Does Open Innovation Matter?
Open innovation made it possible for me to build StudyMate around technologies that I can experiment with, understand, and adapt instead of depending entirely on a closed AI system.
The project uses the open-weight Qwen model as its AI foundation.
For the deployed application, Hugging Face provides convenient inference, while the same project can also be connected to Ollama for local model execution.
This gives StudyMate flexibility to:
- Experiment with different open-weight models
- Run AI locally
- Learn how retrieval and AI inference work together
- Avoid being completely locked into one AI provider
- Combine multiple open-source technologies into one practical application
The project also relies on open-source technologies such as React, FastAPI, pypdf, scikit-learn, PyMongo, Vite, and Lucide React.
Prize Categories
🏆 Best Use of Render
StudyMate is deployed using Render, with the FastAPI backend and React frontend hosted as separate Render services.
Render made it possible to deploy the complete application and make the study companion accessible through a public web interface.
🗄️ Best Use of MongoDB Atlas
StudyMate uses MongoDB Atlas as its data layer.
When a student uploads a PDF, the application extracts the text, splits it into study-note chunks, and stores the document information and extracted chunks in MongoDB Atlas.
These stored chunks are then used by the retrieval pipeline to find relevant study material when the student asks a question, requests an explanation, or generates a quiz.
👤 Individual Submission
This is an individual submission by Jaswanth Kumar.
DEV Profile: https://dev.to/jaswanthkumarkamireddi
Top comments (0)