An AI-powered web application that connects to a Google Drive folder, extracts text from documents, and generates concise summaries using Google Gemini AI.
This project was built as part of a technical assignment for the Sr. Gen AI Developer role and fulfills all specified requirements.
- 🔐 Google OAuth2 authentication
- 📁 Google Drive folder integration
- 📄 Supports PDF, DOCX, and TXT files
- 🧠 AI-powered summarization (4–5 sentences)
- 🌐 Web interface using FastAPI
- 📊 Download summaries as CSV
- 🎯 Summarizes only uploaded documents
- Backend: FastAPI
- AI Model: Google Gemini (genai SDK)
- Cloud Storage: Google Drive API
- Authentication: OAuth2
- Frontend: HTML, Tailwind CSS, HTMX
- Document Parsing: PyMuPDF, python-docx
- Output Format: CSV
document-summarizer-gdrive-ai/ │ ├── app/ │ ├── main.py # FastAPI application │ ├── config.py # API keys & configuration │ ├── services/ │ │ ├── drive_service.py # Google Drive integration │ │ ├── parser_service.py # PDF/DOCX/TXT text extraction │ │ ├── summary_service.py # Gemini AI summarization │ │ └── report_service.py # CSV generation │ ├── templates/ │ │ ├── base.html │ │ └── index.html │ ├── output/ │ └── summaries.csv │ ├── requirements.txt ├── .gitignore └── README.md
- Python 3.9+
- Google Cloud project with:
- Google Drive API enabled
- OAuth2 credentials
- Google Gemini API key
git clone https://github.com/jaydeb2023/document-summarizer-gdrive-ai.git
cd document-summarizer-gdrive-ai
2️⃣ Create a virtual environment
python -m venv venv
source venv/bin/activate
3️⃣ Install dependencies
pip install -r requirements.txt
5️⃣ Google Drive OAuth credentials
app/credentials/credentials.json
6️⃣ Run the application
uvicorn app.main:app --reload
| Requirement | Status |
| ------------------------ | ------ |
| Google Drive OAuth2 | ✅ |
| Folder-based access | ✅ |
| PDF / DOCX / TXT parsing | ✅ |
| AI summarization | ✅ |
| Web interface | ✅ |
| CSV download | ✅ |
👨💻 Author
Jaydeb Sarader
📧 jaydebsarader@gmail.com
🔗 https://github.com/jaydeb2023
📄 License
This project is provided for technical evaluation purposes only.