PageLM
An open source AI powered education platform that transforms study materials into interactive learning experiences, slightly inspired by NotebookLM
Report Bug β’ Request Feature β’ Discord server
An open source AI powered education platform that transforms study materials into interactive learning experiences, slightly inspired by NotebookLM
Report Bug β’ Request Feature β’ Discord server
https://github.com/user-attachments/assets/98fae4ef-c2b7-4ad2-bfe9-1e0665eb4d71
Note: If the video doesn't load above, you can download the demo video directly
PageLM converts study material into interactive resources including quizzes, flashcards, structured notes, and podcasts.
The platform provides a modern interface for students, educators, and researchers to enhance learning efficiency using state-of-the-art LLMs and TTS systems.
| Component | Technology |
|---|---|
| Backend | Node.js, TypeScript, LangChain, Langraph |
| Frontend | Vite, React, TailwindCSS |
| Database | JSON (default), optional vector DB |
| AI/ML | Multiple LLM providers, embeddings |
| Audio | Edge TTS, ElevenLabs, Google TTS |
| Deployment | Docker, Docker Compose |
| Docs | pdf-lib, mammoth, pdf-parse |
# Clone the repository
git clone https://github.com/caviraOSS/pagelm.git
cd pagelm
# Linux:
chmod 777 ./setup.sh
./setup.sh
# Windows:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
./setup.ps1
# Manual (Both Linux/Windows):
# Install dependencies
cd backend
npm install
cd ../frontend
npm install
# Setup environment
cd ..
npm i -g nodemon
cp .env.example .env
# Make sure to configure API keys and settings in .env
# Run these two commands in separate terminals but inside the project directory.
# Run backend
cd backend
npm run dev
# Run frontend
cd frontend
npm run dev
π Access at: http://localhost:5173
# Development
docker compose up --build
# Production
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d --build
All configuration is handled via environment variables:
See .env.example for all options.
Join our Discord community to connect, share ideas, and take part in exciting discussions!
We welcome all contributions.
git checkout -b feature/new-feature)git commit -m "Add feature")git push origin feature/new-feature)Guidelines:
If you find PageLM useful, please consider supporting:
Ethereum (ERC-20):
0x5a12e3f48b6d761a120bc3cd0977e208c362a74e
Your support helps fund ongoing development and hosting.
Licensed under the CaviraOSS Community License.
Free to use, share, and modify for personal and educational purposes.
Commercial use or resale requires prior written permission from CaviraOSS.
See LICENSE for full terms.
Built with β€οΈ by CaviraOSS and contributors
β Star us on GitHub if this project helps you!