An open-source AI-powered education platform that transforms study materials into interactive learning resources
demo.mp4
Note: If the video doesn't load above, you can download the demo video directly
NeuroPilot 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.
- 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
- Google Gemini • OpenAI GPT • Anthropic Claude • xAI Grok • Ollama (local) • OpenRouter
- OpenAI • Gemini • Ollama
- 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
| Component | Technology |
|---|---|
| Backend | Node.js, TypeScript, LangChain |
| 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 |
- Node.js v20+
- npm or pnpm
- ffmpeg (required for podcast audio)
- Docker (optional)
# Clone the repository
git clone https://github.com/caviraOSS/neuropilot.git
cd neuropilot
# Install dependencies
cd backend && npm install
cd ../frontend && npm install
# Setup environment
cp .env.example .env
# configure API keys and settings
# 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- Frontend: http://localhost:5173 (dev) / http://localhost:8080 (prod)
- Backend: http://localhost:5000
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.
Join our Discord community to connect, share ideas, and take part in exciting discussions!
We welcome all contributions.
- Fork the repository
- Create a feature branch (
git checkout -b feature/new-feature) - Commit changes (
git commit -m "Add feature") - Push (
git push origin feature/new-feature) - 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
- AI model integrations
- Mobile app support
- Performance improvements
- Accessibility features
- Docs & tutorials
If you find NeuroPilot 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!
