Every semester, my college friend and I face the exact same chaos before our exams: piles of slides and notes, scanned PDFs, previous-year papers, syllabi, and only a few hours left.
When you're pulling a deadline all-nighter, reading through hundreds of slides line-by-line is impossible. Asking a standard LLM often leads to generic fluff or hallucinated answers with zero references.
That's why I built Deadline Guardian, a RAG-based project for the DEV Hacktoberfest Weekend Challenge — "Build for a Friend"!
We can all work together on this project to improve this small Deadline Guardian for all of us!
🚀 Key Features
- ❓ Ask Anything (Grounded RAG with Citations): Answers questions strictly using your uploaded notes, complete with exact inline file and page citations such as
[ch4.pptx p.11]. - 📝 High-Yield Cheat Sheets: Condenses dense chapters into quick, digestible revision cheat sheets.
- ⏱️ Deadline Panic Plan: Tell it how many hours you have left before the exam. It automatically prioritizes topics into tiers — 🔴 High-Yield, 🟡 Medium, and 🟢 Low — and generates an hour-by-hour actionable timetable.
- 📂 Multi-Format Support: Parses digital PDFs, PPT/PPTX slide decks, plain text notes, Markdown files, and photos of handwritten pages or diagrams.
- 🧮 LaTeX Math & Compilable Code: Renders mathematical equations using KaTeX and formats programming algorithms such as Peterson's Solution and CPU scheduling as compilable C/C++ code blocks.
🔗 Links
GitHub Repository:
https://github.com/Masham-0/deadline-guardian
Live Demo:
https://deadline-guardian-3195.onrender.com/
🧠 Tech Stack
- LLM: Gemma 2B
- Embeddings: BGE-small
- Architecture: Retrieval-Augmented Generation (RAG)
⚙️ Steps to Run Locally
1. Clone the Repository
git clone https://github.com/Masham-0/deadline-guardian.git
cd deadline-guardian
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
2. Configure Environment
Create a .env file:
LLM_BASE_URL=https://generativelanguage.googleapis.com/v1beta/openai/
LLM_API_KEY=your_api_key_here
LLM_MODEL=gemma-2-9b-it
3. Start the Server
For the Google API setup:
uvicorn main:app --reload --host 127.0.0.1 --port 8000
For a local Ollama setup:
ollama pull gemma:2b
Then start the server with:
LLM_BASE_URL=http://localhost:11434/v1 \
LLM_API_KEY=ollama \
LLM_MODEL=gemma:2b \
uvicorn main:app --reload
👨💻 Author & Credits
Developer: Mohammad Masham
Email: mohd.masham@gmail.com
Institution: Netaji Subhas University of Technology (NSUT)
Hackathon: DEV Hacktoberfest Weekend Challenge 2026 — Build for a Friend
If you find Deadline Guardian helpful for your exam prep, feel free to drop a ⭐ on the GitHub repository!
Happy studying! 📚


Top comments (0)