{"slug": "show-hn-pagelm-open-source-notebooklm-alternative-react-node-langchain", "title": "Show HN: PageLM – Open-Source NotebookLM Alternative (React/Node/LangChain)", "summary": "PageLM, an open-source AI education platform developed by caviraOSS, converts study materials into interactive resources such as quizzes, flashcards, structured notes, and podcasts. Built with React, Node.js, and LangChain, it supports multiple LLM providers including Google Gemini, OpenAI GPT, Anthropic Claude, xAI Grok, MiniMax, Ollama, and OpenRouter, and is available on GitHub.", "body_md": "**An open source AI powered education platform that transforms study materials into interactive learning experiences, slightly inspired by NotebookLM**\n\n## demo.mp4\n\nNote: If the video doesn't load above, you can[download the demo video directly]\n\nPageLM converts study material into **interactive resources** including quizzes, flashcards, structured notes, and podcasts.\n\nThe platform provides a modern interface for students, educators, and researchers to **enhance learning efficiency** using state-of-the-art LLMs and TTS systems.\n\n**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.\n\n- Google Gemini • OpenAI GPT • Anthropic Claude • xAI Grok •\n[MiniMax](https://www.minimax.io/)• Ollama (local) • OpenRouter\n\n- OpenAI • Gemini • Ollama\n\n- WebSocket streaming for real-time chat, notes, and podcast generation\n- JSON or vector database support for embeddings and retrieval\n- File-based persistent storage for generated content\n- Markdown-based outputs for structured answers and notes\n- Configurable multi-provider setup for LLMs and TTS engines\n\n| Component | Technology |\n|---|---|\nBackend |\nNode.js, TypeScript, LangChain, Langraph |\nFrontend |\nVite, React, TailwindCSS |\nDatabase |\nJSON (default), optional vector DB |\nAI/ML |\nMultiple LLM providers, embeddings |\nAudio |\nEdge TTS, ElevenLabs, Google TTS, Speech SDK (OpenAI, Cartesia, Hume, MiniMax + 10 more) |\nDeployment |\nDocker, Docker Compose |\nDocs |\npdf-lib, mammoth, pdf-parse |\n\n- Node.js v21.18+\n- npm or pnpm\n- ffmpeg (required for podcast audio)\n- Docker (optional)\n\n```\n# Clone the repository\ngit clone https://github.com/caviraOSS/pagelm.git\ncd pagelm\n\n# Linux:\n  chmod 777 ./setup.sh\n  ./setup.sh\n\n# Windows:\n  Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser\n  ./setup.ps1\n\n# Manual (Both Linux/Windows):\n  # Install dependencies\n  cd backend\n  npm install\n  cd ../frontend\n  npm install\n\n  # Setup environment\n  cd ..\n  npm i -g nodemon\n  cp .env.example .env\n  # Make sure to configure API keys and settings in .env\n\n  # Run these two commands in separate terminals but inside the project directory.\n  # Run backend\n  cd backend\n  npm run dev\n\n  # Run frontend\n  cd frontend\n  npm run dev\n```\n\n👉 Access at: [http://localhost:5173](http://localhost:5173)\n\n```\n# Development\ndocker compose up --build\n\n# Production\ndocker compose -f docker-compose.yml -f docker-compose.prod.yml up -d --build\n```\n\n- Frontend:\n[http://localhost:5173](http://localhost:5173)(dev) /[http://localhost:8080](http://localhost:8080)(prod) - Backend:\n[http://localhost:5000](http://localhost:5000)\n\nAll configuration is handled via environment variables:\n\n**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\n\nSee `.env.example`\n\nfor all options.\n\nJoin our [Discord](https://discord.gg/P7HaRayqTh) community to connect, share ideas, and take part in exciting discussions!\n\nWe welcome all contributions.\n\n- Fork the repository\n- Create a feature branch (\n`git checkout -b feature/new-feature`\n\n) - Commit changes (\n`git commit -m \"Add feature\"`\n\n) - Push (\n`git push origin feature/new-feature`\n\n) - Open a Pull Request\n\n**Guidelines:**\n\n- Follow code style and conventions\n- Add tests where needed\n- Update docs for new features\n- Ensure all tests pass before PR\n\n- AI model integrations\n- Mobile app support\n- Performance improvements\n- Accessibility features\n- Docs & tutorials\n\nIf you find PageLM useful, please consider supporting:\n\n**Ethereum (ERC-20)**:\n\n```\n0x5a12e3f48b6d761a120bc3cd0977e208c362a74e\n```\n\nYour support helps fund ongoing development and hosting.\n\nLicensed under the **CaviraOSS Community License**.\n\nFree to use, share, and modify for personal and educational purposes.\n\nCommercial use or resale requires prior written permission from CaviraOSS.\n\nSee [LICENSE](/CaviraOSS/PageLM/blob/main/LICENSE.md) for full terms.\n\n**Built with ❤️ by CaviraOSS and contributors**\n\n⭐ Star us on [GitHub](https://github.com/CaviraOSS/pagelm) if this project helps you!", "url": "https://wpnews.pro/news/show-hn-pagelm-open-source-notebooklm-alternative-react-node-langchain", "canonical_source": "https://github.com/CaviraOSS/PageLM", "published_at": "2026-08-17 15:25:23+00:00", "updated_at": "2026-08-17 15:41:16.459599+00:00", "lang": "en", "topics": ["artificial-intelligence", "generative-ai", "ai-tools", "ai-products", "developer-tools"], "entities": ["PageLM", "caviraOSS", "React", "Node.js", "LangChain", "Google Gemini", "OpenAI GPT", "Anthropic Claude"], "alternates": {"html": "https://wpnews.pro/news/show-hn-pagelm-open-source-notebooklm-alternative-react-node-langchain", "markdown": "https://wpnews.pro/news/show-hn-pagelm-open-source-notebooklm-alternative-react-node-langchain.md", "text": "https://wpnews.pro/news/show-hn-pagelm-open-source-notebooklm-alternative-react-node-langchain.txt", "jsonld": "https://wpnews.pro/news/show-hn-pagelm-open-source-notebooklm-alternative-react-node-langchain.jsonld"}}