Upload your PDFs, images, and notes — get voice explanations, summaries, and practice questions powered by AI.
| Feature | Description |
|---|---|
| 📄 Multi-format Upload | PDF, images (PNG/JPG), text files, Markdown, CSV |
| 🔊 Voice Explanations | AI reads and explains concepts aloud (Web Speech + gTTS/Piper) |
| 📝 Smart Summaries | Exam-ready summaries with key points highlighted |
| ❓ Quiz Generation | Auto-generate practice questions from your materials |
| 🧩 Simplify Mode | Re-explain complex topics in beginner-friendly language |
| ⚡ Blazing Fast | Powered by Groq (fastest LLM inference) with Ollama fallback |
| 🔒 Privacy First | Whisper STT runs locally — your voice never leaves your machine |
| 🎨 Premium UI | Dark glassmorphism design, responsive, buttery smooth |
| Layer | Technology |
|---|---|
| Frontend | Next.js 14 (React) |
| Backend | Python FastAPI |
| LLM | Groq (free tier) + Ollama (local fallback) |
| Database | Supabase (Postgres + pgvector + Storage) |
| Voice In | OpenAI Whisper (local STT) |
| Voice Out | gTTS / Piper TTS |
| Deployment | Docker → Vercel + Railway |
- Python 3.11+
- Node.js 18+
- A Groq API key (free)
git clone https://github.com/YOUR_USERNAME/cognita.git
cd cognita
# Copy env and add your Groq API key
cp .env.example .env
# Edit .env and set GROQ_API_KEY=your_key_herecd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
python main.pyBackend runs at http://localhost:8000 — API docs at /api/docs
cd frontend
npm install
npm run devFrontend runs at http://localhost:3000
docker-compose up --build| Method | Endpoint | Description |
|---|---|---|
POST |
/api/upload |
Upload study material |
POST |
/api/chat |
Chat with Cognita |
POST |
/api/explain |
Get full document explanation |
POST |
/api/tts |
Text-to-speech |
POST |
/api/stt |
Speech-to-text (Whisper) |
GET |
/api/sessions |
List study sessions |
GET |
/api/health |
Health check + LLM status |
- Core chat with document context
- PDF & image upload
- Voice output (gTTS + browser TTS)
- Multiple study modes (Explain, Quiz, Summarize, Simplify)
- Supabase persistent storage
- pgvector semantic search (RAG)
- Flashcard generation
- Spaced repetition scheduler
- Diagram/flowchart generation
- Mobile PWA
- Video explanations
- Collaborative study rooms
- Plugin system for custom LLMs
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing) - Open a Pull Request
MIT — use it however you want.
Built with ❤️ for students everywhere
Cognita — Latin for "known/learned"