How abhishek-deshmukh9/preppilot works
PrepPilot AI turns uploaded study documents into searchable, AI-grounded tutoring and study materials, plus mock interviews. The main workflow is document upload and processing, followed by retrieval or content generation through the API, with results presented in the React study tools. The README documents several backend service connections not shown in sampled source; those relationships are represented at subsystem level. The tree and excerpts do not establish the full internal call wiring for every route.
Main entry points: main.py API Application · document_processor.py Document Processing · base.py Metadata Database · pages Study Pages
Components 25
Study Interface
- Study App
frontend/src/App.jsx - Document Tools
frontend/src/services/documentService.js - Study Tools
frontend/src/services/studyService.js - Tutor Chat
frontend/src/services/chatService.js - Learning Companion
frontend/src/services/companionService.js - Study Pages
frontend/src/pages
Backend API
- API Application
backend/app/main.py - Upload Route
backend/app/api/routes/upload.py - Document Routes
backend/app/api/routes/documents.py - Chat Route
backend/app/api/routes/chat.py - History Route
backend/app/api/routes/history.py - Study Routes
backend/app/api/routes - Interview Route
backend/app/api/routes/interview.py
Document Intelligence
- Document Processing
backend/app/services/rag/document_processor.py - Text Chunking
backend/app/services/rag/chunker.py - Embedding Service
backend/app/services/rag/embeddings.py - Context Retrieval
backend/app/services/rag/retriever.py - Vector Store
backend/app/services/rag/vector_store.py
Learning Features
- Study Generators
backend/app/services/generators - Interview Generator
backend/app/services/generators/interview_generator.py - Gemini AI
backend/app/services/llm/gemini_client.py
Persistence
- Uploaded Files
- Metadata Database
backend/app/database/base.py - Stored Records
backend/app/models
Other components
- Learner
Connections 37
- Learner → Study App: uses
- Study App → Study Pages: routes to
- Study Pages → Document Tools: requests documents
- Study Pages → Study Tools: requests study content
- Study Pages → Tutor Chat: sends questions
- Study Pages → Learning Companion: requests tutoring
- Document Tools → API Application: calls API
- Study Tools → API Application: calls API
- Tutor Chat → API Application: calls API
- Learning Companion → API Application: calls API
- API Application → Upload Route: dispatches
- API Application → Document Routes: dispatches
- API Application → Chat Route: dispatches
- API Application → History Route: dispatches
- API Application → Study Routes: dispatches
- API Application → Interview Route: dispatches
- Upload Route → Document Processing: processes upload
- Document Processing → Text Chunking: chunks text
- Document Processing → Embedding Service: embeds chunks
- Document Processing → Vector Store: indexes chunks
- Document Processing → Uploaded Files: stores files
- Document Processing → Metadata Database: records metadata
- Document Routes → Metadata Database: reads and updates
- Document Routes → Vector Store: manages document vectors
- Chat Route → Context Retrieval: retrieves context
- Context Retrieval → Embedding Service: embeds query
- Context Retrieval → Vector Store: searches vectors
- Chat Route → Gemini AI: generates grounded reply
- Chat Route → Metadata Database: records chat history
- History Route → Metadata Database: reads and clears history
- Study Routes → Study Generators: generates study materials
- Study Generators → Gemini AI: generates content
- Study Generators → Vector Store: uses document context
- Study Routes → Metadata Database: stores generated content
- Interview Route → Interview Generator: builds interview
- Interview Generator → Gemini AI: generates questions
- Metadata Database → Stored Records: persists records