LetsLearn is an intelligent, locally-hosted educational application that uses Retrieval-Augmented Generation (RAG) to help you interact with and learn from your documents. Upload your study materials and let AI power transform them into interactive learning tools—all running 100% offline on your machine.
- Multi-Project Organization: Create and manage unlimited projects to organize your study materials by subject, course, or topic
- Flexible File Upload: Support for multiple document formats (PDF, text, and more)
- Intelligent Chunking: Documents are automatically split into optimal chunks for semantic understanding
- Instant Indexing: Files are immediately embedded into the vector database upon upload for instant access
- Context-Aware Answers: Ask questions about your documents and get precise answers grounded strictly in your uploaded materials
- Semantic Search: Advanced vector-based retrieval finds the most relevant content from your documents
- Streaming Responses: Real-time response generation for immediate feedback
- Offline Privacy: All processing happens locally—your data never leaves your machine
- Automatic Flashcard Creation: AI automatically generates study flashcards from your document content
- Customizable Learning Sets: Create topic-specific flashcard decks
- Spaced Repetition Ready: Organize flashcards by topic for optimal study patterns
- Study Mode Integration: Built-in flashcard viewer for interactive studying
- Auto-Generated Quizzes: Create multiple-choice quizzes directly from your documents
- Intelligent Questions: AI generates diverse, challenging questions based on key concepts
- Instant Assessment: Take quizzes immediately after uploading materials
- Performance Analytics: Track your scores and identify weak areas
- Key Topic Identification: Automatically extract and organize the main topics covered in your documents
- Smart Summarization: AI generates concise summaries of important concepts
- Topic-Based Organization: Group content by topics for better understanding
- Study Roadmap: See all covered topics at a glance
- Learning Progress Tracking: Monitor your quiz scores and learning metrics
- Performance Insights: Visualize your progress across different subjects
- Study Statistics: Track flashcard reviews, quiz attempts, and study time
- Real-Time Metrics: Updated analytics as you study
- Framework: React + Vite
- Styling: Tailwind CSS with modern UI components
- Routing: React Router for multi-page navigation
- Features: Dashboard, analytics, flashcards, quizzes, and topic views
- Framework: FastAPI (Python)
- API: RESTful with streaming response support
- File Processing: Smart document parser with format support
- Project Management: Multi-project architecture with caching
- Large Language Model (LLM): Mistral (
models/mistral.gguf)- Runs entirely locally via
llama-cpp-python - Optimized for 8K token context window
- GPU acceleration (CUDA) for faster inference
- Runs entirely locally via
- Embedding Engine:
BAAI/bge-small-en-v1.5via SentenceTransformers- Converts text chunks into semantic vectors
- Used for intelligent document retrieval
- Vector Database: ChromaDB
- Stores and retrieves document embeddings
- Fast semantic similarity search
- Persistent storage across sessions
Main interface for project creation, file upload, and document management
Real-time analytics dashboard showing quiz scores, learning progress, and study metrics
Automatically extracted topics and key concepts from your documents
- Python 3.10+
- Node.js & npm
- 4GB+ RAM (8GB+ recommended for GPU support)
- Storage: ~8GB for the Mistral model
-
Clone the repository
git clone <repository-url> cd letslearn
-
Set up Python environment
python -m venv .venv .\.venv\Scripts\activate # Windows # or source .venv/bin/activate # Linux/Mac
-
Install Python dependencies
pip install -r requirements.txt
-
Download the AI model
python download_model.py
-
Set up frontend
cd frontend npm install -
Start the application
# Terminal 1: Start backend server python server.py # Terminal 2: Start frontend dev server cd frontend npm run dev
- Upload Documents: Create a project and upload your study materials (PDFs, text files, etc.)
- Automatic Processing: Documents are parsed, chunked, and embedded into ChromaDB using
BAAI/bge-small-en-v1.5 - Query Processing: When you ask a question, the system:
- Converts your question into a semantic vector
- Searches ChromaDB for relevant document chunks
- Feeds the retrieved context to Mistral LLM
- Generates a grounded, context-aware answer
- Content Generation: Automatically create:
- Study flashcards from key concepts
- Multiple-choice quizzes for self-assessment
- Topic summaries and learning roadmaps
- 100% Offline: All AI processing runs locally on your machine
- No Cloud Dependencies: No data is sent to external servers
- Open Source: Full transparency of how your data is handled
- Local Storage: All documents and embeddings stored in your project folders
| Component | Technology |
|---|---|
| Backend | FastAPI (Python 3.10+) |
| Frontend | React 18 + Vite + Tailwind CSS |
| LLM | Mistral (7B parameters) via llama-cpp-python |
| Embeddings | BAAI/bge-small-en-v1.5 (SentenceTransformers) |
| Vector DB | ChromaDB |
| Document Parsing | Custom parser with multi-format support |
- 📖 Study Material Organization: Upload textbooks, lecture notes, and organize by topic
- 🧪 Self-Assessment: Generate quizzes to test your knowledge
- 📚 Flashcard Studying: Create custom flashcards for spaced repetition learning
- 🔍 Quick Reference: Ask questions about your materials and get instant answers
- 📊 Progress Tracking: Monitor your learning with built-in analytics
- 👨🎓 Learning Companions: Perfect for students, professionals, and lifelong learners
Strictly built by Himadri Shekhar Goswami for CODE300.
This project is provided as-is for educational purposes.