pagelm # PageLM CaviraOSS%2FPageLM | Trendshift **An open source AI powered education platform that transforms study materials into interactive learning experiences, slightly inspired by NotebookLM** [Report Bug](https://github.com/caviraOSS/pagelm/issues) β€’ [Request Feature](https://github.com/caviraOSS/pagelm/issues) β€’ [Discord server](https://discord.gg/P7HaRayqTh)

License: PageLM Community License Node.js Version React TypeScript Discord

--- # πŸš€ **We’re actively accepting volunteers!** We’re looking for **developers, social media volunteers, designers, content creators, community helpers, and more.** If you’d like to contribute and be part of what we’re building, we’d love to have you! πŸ“© **Interested?** Reach out at **[nullure@cavira.app](mailto:nullure@cavira.app)** # **πŸ”₯ Spread the Word!**

Share on X   Share on LinkedIn   Share on Reddit   Submit to Hacker News   Share on DEV Community

## Demo PageLM Demo 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](.github/demo.mp4) --- ## πŸš€ 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](https://www.minimax.io/) β€’ [API Route](https://www.api-route.com) β€’ Ollama (local) β€’ OpenRouter β€’ [Requesty](https://requesty.ai) β€’ [Cheaper Inference](https://cheaperinference.com) β€’ [Atlas Cloud](https://atlascloud.ai) β€’ [Opper](https://opper.ai) β€’ [LiteLLM](https://docs.litellm.ai/docs/simple_proxy) (self-hosted gateway) ### 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 | 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, Speech SDK (OpenAI, Cartesia, Hume, MiniMax + 10 more), ModelBest VoxCPM | | **Deployment** | Docker, Docker Compose | | **Docs** | pdf-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 ``` - Frontend: http://localhost:5173 (dev) / http://localhost:8080 (prod) - Backend: http://localhost:5000 --- ## βš™οΈ 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. For ModelBest VoxCPM podcasts, set `TTS_PROVIDER=voxcpm`, `VOXCPM_API_KEY`, and optionally `VOXCPM_MODEL` and `VOXCPM_BASE_URL`. The default model is `VoxCPM2`. This integration uses VoxCPM's default voice; reference-audio cloning is not included yet. --- ## πŸ‘₯ Community Join our [Discord](https://discord.gg/P7HaRayqTh) 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](LICENSE.md) for full terms. ---
**Built with ❀️ by CaviraOSS and contributors** ⭐ Star us on [GitHub](https://github.com/CaviraOSS/pagelm) if this project helps you!