// Mobile · RAG · Vector Search
StudyMate
Student productivity app with a RAG study assistant
Mobile app, backend, RAG pipeline & vector search · 2025
Illustrative preview — replace with a real screenshot by adding `public/projects/studymate.png` and wiring it into ProjectVisual.
A cross-platform student productivity and learning app built with React Native (Expo), Firebase Authentication, Node.js, Express.js, and MongoDB Atlas.
Beyond Pomodoro, timetable, SGPA, and study workflows, the core AI feature is a RAG-based study assistant for PDF question answering: document ingestion, text extraction, chunking, embeddings, MongoDB Atlas Vector Search, semantic retrieval, and Hugging Face LLM generation.
Retrieval is user-isolated, so each student's questions are answered only from their own documents.
// features
Study workflows
Pomodoro timer, timetable, SGPA calculator, and focused study flows in one cross-platform app.
PDF Q&A assistant
Ask questions over uploaded PDFs with grounded, retrieval-based answers instead of generic chat.
RAG pipeline
Document ingestion, text extraction, chunking, embeddings, Atlas Vector Search retrieval, and Hugging Face generation.
User-isolated retrieval
Vector search is scoped per user so documents never leak across accounts.
// architecture
- Expo (React Native) client with Firebase Auth; Express API handling uploads, chunking, and Q&A orchestration.
- Ingestion: PDF → text extraction → chunking → embeddings → MongoDB Atlas with Vector Search index.
- Query: embed question → semantic retrieval (user-scoped) → grounded generation with Hugging Face LLM.
- MongoDB Atlas stores both app data (timetable, sessions, SGPA) and vectorized document chunks.
// implementation
- Chunking tuned for study PDFs so answers cite coherent passages rather than fragments.
- User-scoped vector filters on every retrieval call.
- Separation of productivity data and RAG data paths for clearer access control.
// challenges
Study PDFs vary in layout and text quality.
approach — Normalized extracted text before chunking so headings, lists, and broken line-breaks don't poison embeddings.
Keeping answers grounded, not hallucinated.
approach — Constrained generation to retrieved passages and surfaced the retrieval step so failures are debuggable.
Mobile + backend auth consistency.
approach — Used Firebase Auth tokens end-to-end so the API can enforce per-user document isolation.