Thanks to visit codestin.com
Credit goes to github.com

Skip to content

vs-abhinav-dev/ProfessorPaaji

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Professor-Paaji

Professor-Paaji is a prototype educational tool that takes in slide decks, groups slides with similar meaning into clusters, and provides topic explanations via the Gemini API.

It’s designed to help students and educators quickly understand key topics within large slide decks.


Features

  • Upload slides (.pptx)
  • Text extraction from slides
  • Semantic clustering of slides using SentenceTransformer + Agglomerative Clustering
  • Interactive UI to explore slide clusters
  • Topic explanations powered by Gemini API with slide context

Tech Stack

Component Technology
Backend FastAPI, SentenceTransformers, scikit-learn, Gemini API
Frontend React (Vercel deployment)
Deployment Vercel (frontend), GCP/VM (backend)

Project Structure


ProfessorPaaji/
├── backend/                 # FastAPI backend
│   ├── main.py              # API entrypoint
│   ├── requirements.txt     # Python dependencies
│   └── ...
├── slide-cluster-frontend/  # React frontend
│   ├── package.json         # Frontend dependencies
│   └── ...
└── README.md


Getting Started

1. Clone the repository

git clone https://github.com/Abhinav-VS21/ProfessorPaaji.git
cd ProfessorPaaji

2. Backend Setup (FastAPI)

Prerequisites

  • Python
  • Gemini API key

Install dependencies

cd backend
pip install -r requirements.txt

Run server

uvicorn main:app --reload

Backend will be live at: http://127.0.0.1:8000


3. Frontend Setup (React)

Prerequisites

  • Node.js 18+

Install dependencies

cd slide-cluster-frontend
npm install

Run development server

npm run dev

Frontend will be live at: http://localhost:3000


Configuration

Create a .env file in backend/ with your API keys:

GEMINI_API_KEY=your_api_key_here

Other configs:

  • Clustering parameters (default: Agglomerative, cosine similarity)
  • Embedding model (default: all-MiniLM-L6-v2)

Usage

  1. Start backend + frontend.
  2. Upload a slide deck (.pptx).
  3. System extracts text and clusters slides into topics.
  4. Click a cluster to request explanation.
  5. Gemini API generates a contextual explanation with slide text.

Future Work

  • Support .pdf slides
  • Export topic explanations as summary notes
  • UI improvements
  • More clustering options (k-means, spectral)
  • Multi-language support

About

A prototype tool for education

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published