The textbook your professor forgot to write.
UnSlide is an AI-powered platform that bridges the gap between cryptic professor slides and comprehensive textbooks. It ingests PDF/PPTX slides and uses advanced LLMs to generate rich, context-aware narratives, effectively "teaching" the content that was missing from the bullet points.
demo.mov
(Watch the video above to see UnSlide in action)
- 📄 Slide Ingestion: Upload your lecture slides (PDF support).
- 🧠 AI Expansion: Automatically converts bullet points into full, didactic explanations.
- 👀 Split-View Interface: Study the original slide alongside the generated "textbook" content.
- 🔗 Contextual Resources: Auto-suggested readings, videos, and definitions to deepen understanding.
- 💾 Export: Save your enhanced study guide as a PDF.
- Frontend: Next.js, React, Tailwind CSS, TypeScript
- Backend: FastAPI, Python
- AI/ML: Large Language Models (Gemini/OpenAI) for text generation and reasoning.
Follow these instructions to set up the project locally.
- Node.js (v18 or higher)
- Python (v3.10 or higher)
- Git
-
Clone the repository
git clone https://github.com/VihaanMotwani/UnSlide.git cd UnSlide -
Environment Setup
Create a
.envfile in thebackenddirectory with your API keys:# backend/.env GOOGLE_API_KEY=your_google_api_key # OR OPENAI_API_KEY=your_openai_api_key
-
Run the Application
We provide a convenience script to start both the backend and frontend:
chmod +x dev.sh ./dev.sh
Or run them manually:
Backend:
cd backend python3 -m venv venv source venv/bin/activate pip install -r requirements.txt uvicorn main:app --reload --port 8000
Frontend:
cd frontend npm install npm run dev -
Access the App Open http://localhost:3000 in your browser.
- Upload: Drag and drop your lecture PDF on the home screen.
- Process: Wait for the AI to analyze and expand the content.
- Study: Use the split-view interface to read the generated explanations while referencing the original slides.
- Export: Click the download button to save your notes.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Built with ❤️ for students everywhere.