Loading...
Loading...
The first block-based adaptive learning workspace that runs locally
Drop in a PDF. Get an AI tutor that actually adapts to how you learn.Self-hosted, open source, no data leaves your machine.
Every AI learning tool I tried had the same issue: they treat every student the same way.
AI tools treat every student identically — same pace, same depth, same questions.
Every AI learning tool sends your material to the cloud. Students and institutions lose control.
Q&A is one mode. Real learning needs notes, quizzes, spaced repetition, and study planning — in one place.
Upload any material → AI ingests and structures it → a block-based workspace adapts to how you learn.
# 3 commands. That's it.
git clone https://github.com/zijinz456/OpenTutor.git && cd OpenTutor
cp .env.example .env
docker compose up -d --build
11 composable learning blocks — notes, quiz, flashcards, knowledge graph, study plan, analytics, and more. The workspace adapts based on your learning behavior.
Every answer is grounded in your material. Adapts depth based on behavioral signals — fatigue detection, error patterns, Socratic questioning mode.
Upload PDF, DOCX, PPTX, or connect Canvas LMS. Get structured notes, flashcards, and quiz questions automatically. 7 question types.
Optimized scheduling for flashcards — tracks what you're forgetting and proactively reminds you to review.
Extracts concepts from your material, builds a knowledge graph, tracks mastery and prerequisites, generates optimal learning paths.
Local-first with Ollama by default. Switch to OpenAI, Anthropic, DeepSeek, Gemini, Groq, or any OpenAI-compatible endpoint.
3 specialist agents coordinated by an intent-routing orchestrator.
Content Ingestion
PDF / PPTX / URL / Canvas LMS
12 Composable Learning Blocks
Notes, Quiz, Flashcards, Knowledge Graph, Plan, Analytics...
TutorAgent
Teaching + Quiz + Review
PlanAgent
Study scheduling
LayoutAgent
Workspace adaptation
Learning Science
LOOM + LECTOR + FSRS 4.5
Adaptive Memory
Profile + Knowledge + Plan
Multi-Provider LLM Routing
Teaches with adaptive depth, Socratic questioning, and source citations. Adjusts based on fatigue detection and error patterns.
Study plans, goal tracking, deadline management. Integrates with Canvas LMS for automatic course data sync.
Configures the workspace based on activity context — exam prep surfaces quizzes, daily study shows notes and knowledge graphs.
Not just using AI — grounding it in validated learning science frameworks.
Dynamic learner memory graph for concept mastery tracking
Semantic spaced repetition via knowledge graph relationships
Behavioral signals for real-time difficulty adaptation
Optimized free spaced repetition scheduling
Removing the cloud dependency wasn't just a privacy decision — it meant rethinking auth, storage, and LLM routing from scratch. The constraint forced better architecture: pluggable providers, SQLite for zero-config, Docker for reproducibility.
FSRS, LOOM, and LECTOR aren't buzzwords — they're the difference between "AI chat with a PDF" and a system that actually tracks what you know, what you're forgetting, and what to study next.
A student doing exam prep needs quizzes and weak areas. A student in daily study needs notes and knowledge graphs. One interface can't serve both — composable blocks let the AI reshape the workspace to match the learning mode.
"Upload → AI Teaches → You Practice → AI Remembers → AI Reminds → Repeat"