Commit and save your changes here.
Members: Anagha K, Saurav Sreejith, Shreya Padmakumar, S Murugan
PassPilot is an AI-assisted exam survival guide tailored for KTU students. It optimizes exam prep under tight deadlines using historical PYQ data and topic frequency analysis to generate personalized, minimum-effort study plans aimed at reaching the 40/100 pass threshold.
PassPilot implements scoring algorithms that consider topic frequency, difficulty, and expected yield. The platform supports:
- Survival Track: Minimum viable prep.
- Excellence Track: Extended, deeper study path.
- Crisis Mode: Last-minute planner with an effort-to-marks estimator.
Built on a modular architecture, PassPilot features a real-time pass probability estimator and topic recommendations.
- Language: Python 3.10+
- Frameworks:
Flaskβ REST APILangChainβ RAG orchestration
- Libraries:
sentence-transformersβ Semantic vector embeddingsscikit-learnβ Cosine similaritynumpyβ Numerical simulationslangchain-google-genaiβ Gemini LLM + Embeddingschromadbβ Persistent vector storepypdfβ PDF parsingpython-dotenvβ Secure env var handlingflask-corsβ CORS for frontend
- Repo: SauravSreejith/passpilot-web
- Framework: React.js (Vite)
- Language: TypeScript
- Styling:
tailwindcssshadcn/ui
- Libraries:
react-router-domβ Routinglucide-reactβ Icons
- Tools:
Viteβ Build toolnpmβ Package manager
- Python 3.10+ and
pip - Node.js and
npm - Google Gemini API Key
The project has two repos: backend and frontend. Clone and set up both.
# Clone the backend repo
git clone <your-backend-repository-url>
cd engine # or your backend folder
# Create virtual environment
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Create environment file
touch .env
# Then edit it with your Gemini key
# e.g., nano .envYour .env should contain:
GEMINI_API_KEY="AIzaSy...YOUR_API_KEY_HERE"# In a separate folder
git clone https://github.com/SauravSreejith/passpilot-web.git
cd passpilot-web
# Install frontend dependencies
npm installYouβll need two terminals: one for backend, one for frontend.
# In backend directory
source venv/bin/activate
python run_server.pyThe backend runs on
http://localhost:5000.
# In frontend directory
npm run devThe frontend runs on
http://localhost:5173.
PassPilot tackles study paralysis β the fear of too much to study in too little time. It reframes exam prep as a strategic allocation problem. No more "study everything"; instead: "study smart, survive efficiently."
- Model:
all-MiniLM-L6-v2 - Goal: Understand question meaning, not just keywords
- Method: Embed both user input and database questions β compute cosine similarity
-
Formula:
Strategic Value = Topic Frequency Γ Average Marks Per Appearance -
Mechanism:
- Calculate userβs deficit
- Rank unstudied topics by Strategic Value
- Recommend highest ROI topics until gap is closed
-
Generate 100,000 simulated papers
-
For each:
- Roll for topic appearance (based on historical probability)
- Assign random historical mark value
- Tally up if student would pass
-
Output: Pass probability = % of simulations β₯ target score
-
Load & Split: Parse PDFs β Chunk with overlap using
RecursiveCharacterTextSplitter -
Embed & Store: Use
embedding-001β Store inChromaDB -
Retrieve: Query embedded β Retrieve top chunks with vector similarity
-
Generate: Use
Gemini 1.5 Flashto answer based only on relevant context
β³οΈ This grounds the LLMβs answers, reducing hallucination.
[Add video demo links if available]
-
Anagha K β Frontend Lead Built the entire React frontend with Vite, TypeScript, TailwindCSS, and Shadcn/UI.
-
Saurav Sreejith β Backend & Algorithms Built the Flask API, semantic search engine, strategic value algorithm, and Monte Carlo simulator.
-
Shreya Padmakumar β AI & RAG Specialist Designed the RAGAnalyzer pipeline using LangChain, Gemini, ChromaDB, and PDF processing.
-
S Murugan β DevOps & Architecture Structured the repo split, wrote
run_server.py, handled dependency and environment management.



