GitPedia

PageLM

PageLM is a community driven version of NotebookLM & a education platform that transforms study materials into interactive resources like quizzes, flashcards, notes, and podcasts.

From CaviraOSSยทUpdated June 27, 2026ยทView on GitHubยท

**An open source AI powered education platform that transforms study materials into interactive learning experiences, slightly inspired by NotebookLM** The project is written primarily in TypeScript, distributed under the Other license, first published in 2025. It has gained significant community traction with 1,668 stars and 228 forks on GitHub. Key topics include: ai, docker, edtech, education, flashcards.

<div align="center"> <img width="full" height="auto" alt="pagelm" src="https://github.com/user-attachments/assets/d3133be1-1931-4132-9301-3596ebb21122" />

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

</div> <p align="center"> <a href="LICENSE"><img src="https://img.shields.io/badge/License-PageLM%20Community%20License-blueviolet.svg" alt="License: PageLM Community License"></a> <a href="https://nodejs.org/"><img src="https://img.shields.io/badge/node-%3E%3D21.18.0-brightgreen.svg" alt="Node.js Version"></a> <a href="https://reactjs.org/"><img src="https://img.shields.io/badge/React-18+-blue.svg" alt="React"></a> <a href="https://www.typescriptlang.org/"><img src="https://img.shields.io/badge/TypeScript-5.0+-blue.svg" alt="TypeScript"></a> <a href="https://discord.gg/P7HaRayqTh"><img alt="Discord" src="https://img.shields.io/discord/1379682804849180844?label=Discord%20server"></a> </p>

๐Ÿ”ฅ Spread the Word!

<p align="center"> <a href="https://twitter.com/intent/tweet?text=๐Ÿคฏ%20Found%20the%20open%2Dsource%20NotebookLM%20killer%3A%20PageLM%21%20It%20turns%20PDFs%20into%20quizzes%2C%20flashcards%2C%20and%20podcasts.%20Stop%20paying%20for%20study%20tools%21&url=https%3A%2F%2Fgithub.com%2FCaviraOSS%2FPageLM&hashtags=ai,opensource,education,llm"><img src="https://img.shields.io/badge/Share%20on%20X-000000?style=for-the-badge&logo=x&logoColor=white" alt="Share on X"></a> &nbsp; <a href="https://www.linkedin.com/shareArticle?url=https%3A%2F%2Fgithub.com%2FCaviraOSS%2FPageLM&title=PageLM%3A%20The%20Open%2DSource%20NotebookLM%20Alternative%20for%20Students&summary=PageLM%20is%20an%20AI%20platform%20that%20transforms%20lecture%20notes%20and%20PDFs%20into%20interactive%20quizzes%20and%20AI%20podcasts.%20A%20great%20example%20of%20full%2Dstack%20AI%20development%20%28Node%2FReact%2FLangChain%29."><img src="https://img.shields.io/badge/Share%20on%20LinkedIn-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white" alt="Share on LinkedIn"></a> &nbsp; <a href="https://reddit.com/submit?url=https%3A%2F%2Fgithub.com%2FCaviraOSS%2FPageLM&title=PageLM%3A%20Open%20Source%20AI%20Notebook%20that%20creates%20Quizzes%2C%20Flashcards%2C%20and%20Podcasts"><img src="https://img.shields.io/badge/Share%20on%20Reddit-FF4500?style=for-the-badge&logo=reddit&logoColor=white" alt="Share on Reddit"></a> &nbsp; <a href="https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fgithub.com%2FCaviraOSS%2FPageLM&t=Show%20HN%3A%20PageLM%20%E2%80%93%20Open%20Source%20NotebookLM%20Alternative%20(React%2FNode%2FLangChain)"><img src="https://img.shields.io/badge/Hacker%20News-FF6600?style=for-the-badge&logo=y-combinator&logoColor=white" alt="Submit to Hacker News"></a> &nbsp; <a href="https://dev.to/new/share?url=https%3A%2F%2Fgithub.com%2FCaviraOSS%2FPageLM&title=PageLM%3A%20An%20Open%20Source%20AI%20Education%20Platform%20for%20Quizzes%20and%20Podcasts&prefill=I%20came%20across%20PageLM%20and%20was%20impressed%20by%20its%20architecture%20(Node.js%2FReact%2FLangChain).%20It's%20a%20full%2Dstack%20AI%20platform%20that%20supports%20Ollama%20and%20generates%20structured%20learning%20tools%20like%20ExamLab%20and%20AI%20Podcasts.%20Check%20it%20out%20and%20star%20the%20repo!%0D%0A%0D%0A**Link%20to%20Repo:**%20https%3A%2F%2Fgithub.com%2FCaviraOSS%2FPageLM"><img src="https://img.shields.io/badge/Share%20on%20DEV%20Community-0A0A0A?style=for-the-badge&logo=dev.to&logoColor=white" alt="Share on DEV Community"></a> </p> </div>

Demo

<img src=".github/pagelm.png" alt="PageLM Demo"/>

https://github.com/user-attachments/assets/98fae4ef-c2b7-4ad2-bfe9-1e0665eb4d71

<video width="100%" controls> <source src=".github/demo.mp4" type="video/mp4"> Your browser does not support the video tag. </video>

Note: If the video doesn't load above, you can download the demo video directly


๐Ÿš€ Features

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.

Learning Tools

  • Contextual Chat โ€“ Ask questions about uploaded documents (PDF, DOCX, Markdown, TXT)
  • SmartNotes โ€“ Generate Cornell-style notes automatically from topics or uploaded content
  • Flashcards โ€“ Extract non-overlapping flashcards for spaced repetition
  • Quizzes โ€“ Create interactive quizzes with hints, explanations, and scoring
  • AI Podcast โ€“ Convert notes and topics into engaging audio content for learning on the go
  • Voice Transcribe - Convert lecture recordings and voice notes into organized, searchable study materials instantly.
  • Homework Planner - Plans your Homework Smartly using AI, Assists if your stuck.
  • ExamLab - Simulate any exam, get feedback, and be prepared for the exam
  • Debate - Debate with AI to improve your Debate skills.
  • Study Companion - A personalised AI Companion that assists you.

Supported AI Models

  • Google Gemini โ€ข OpenAI GPT โ€ข Anthropic Claude โ€ข xAI Grok โ€ข MiniMax โ€ข Ollama (local) โ€ข OpenRouter

Embedding Providers

  • OpenAI โ€ข Gemini โ€ข Ollama

Technical Highlights

  • WebSocket streaming for real-time chat, notes, and podcast generation
  • JSON or vector database support for embeddings and retrieval
  • File-based persistent storage for generated content
  • Markdown-based outputs for structured answers and notes
  • Configurable multi-provider setup for LLMs and TTS engines

๐Ÿ› ๏ธ Technology Stack

ComponentTechnology
BackendNode.js, TypeScript, LangChain, Langraph
FrontendVite, React, TailwindCSS
DatabaseJSON (default), optional vector DB
AI/MLMultiple LLM providers, embeddings
AudioEdge TTS, ElevenLabs, Google TTS, Speech SDK (OpenAI, Cartesia, Hume, MiniMax + 10 more)
DeploymentDocker, Docker Compose
Docspdf-lib, mammoth, pdf-parse

โšก Getting Started

Prerequisites

  • Node.js v21.18+
  • npm or pnpm
  • ffmpeg (required for podcast audio)
  • Docker (optional)

Local Development

bash
# 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

Docker Deployment

bash
# Development docker compose up --build # Production docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d --build

โš™๏ธ Configuration

All configuration is handled via environment variables:

  • LLM Provider โ€“ Choose your model backend
  • TTS Engine โ€“ Select speech service for podcasts
  • Database Backend โ€“ JSON or vector DB
  • File Upload Limits โ€“ Customize size/format limits

See .env.example for all options.


๐Ÿ‘ฅ Community

Join our Discord community to connect, share ideas, and take part in exciting discussions!


๐Ÿค Contributing

We welcome all contributions.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/new-feature)
  3. Commit changes (git commit -m "Add feature")
  4. Push (git push origin feature/new-feature)
  5. Open a Pull Request

Guidelines:

  • Follow code style and conventions
  • Add tests where needed
  • Update docs for new features
  • Ensure all tests pass before PR

๐Ÿ’ก Areas to Contribute

  • AI model integrations
  • Mobile app support
  • Performance improvements
  • Accessibility features
  • Docs & tutorials

๐Ÿ’– Support the Project

If you find PageLM useful, please consider supporting:

Ethereum (ERC-20):

0x5a12e3f48b6d761a120bc3cd0977e208c362a74e

Your support helps fund ongoing development and hosting.


๐Ÿ“œ License

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.


<div align="center">

Built with โค๏ธ by CaviraOSS and contributors

โญ Star us on GitHub if this project helps you!

</div>

Contributors

Showing top 10 contributors by commit count.

View all contributors on GitHub โ†’

This article is auto-generated from CaviraOSS/PageLM via the GitHub API.Last fetched: 6/27/2026