LearnHouse is an open-source, AGPL-3.0 learning management system written in Python and React that lets educators, schools, and businesses create, sell, and manage online courses on infrastructure they control.
What it is
LearnHouse is a self-hostable platform for building and running online courses. It is split into four applications. apps/web is the frontend — dashboard, course player, editor, and landing pages — built with Next.js, React, TailwindCSS, and Tiptap, and used by teachers, students, and admins. apps/api is a FastAPI and Python backend exposing a REST API for auth, courses, payments, AI, and analytics, using SQLModel and Alembic, consumed by the Web app, the CLI, and Collab. apps/collab is a real-time collaboration server built on Hocuspocus, Yjs, and WebSocket that syncs live editing for courses and boards. apps/cli is the official Commander and Node.js command-line tool for setup, development environments, and instance management. The project is maintained by Sweave (Badr B.), with 2,274 stars, 543 forks, and 12 open issues.
The concrete problem is ownership. Hosted course platforms typically hold the learner data, the branding, and a cut of every sale, and they decide which features exist. LearnHouse replaces that with an instance the operator runs: courses, collections, assignments, discussions, podcasts, analytics, whiteboards, certificates, and user groups all live in the operator's own database. Built-in SEO — metadata, sitemaps, and Open Graph — and customization of branding, landing pages, and theming mean the storefront is the operator's rather than a vendor's. A REST API and the headless topic indicate the content layer can be driven programmatically instead of only through the dashboard.
Key capabilities
- Block-based, Notion-like content editor for course authoring, with live multi-user editing synced through the Collab server.
- Real code execution with auto-grading across 30 or more programming languages.
- Context-aware AI for learning and teaching, plus Playgrounds that generate interactive elements, simulations, and diagrams.
- Course commerce primitives: courses, collections that bundle courses, assignments with submission tracking, discussions, podcasts, and auto-generated certificates on completion.
- SEO built in, covering metadata, sitemaps, and Open Graph tags.
- Customization of branding, landing pages, and theming on the same instance.
- Enterprise additions layered on the core: fee-free payments, OAuth single sign-on, and multi-organization hosting from one instance.
Who uses it and how
- Teachers, students, and admins work inside
apps/web for authoring, the course player, and administration.
- Self-hosters and developers use the CLI for the full instance lifecycle:
npx learnhouse setup, start, stop, update, logs, backup, and doctor.
- Contributors and teams run
npx learnhouse dev, which starts PostgreSQL and Redis and boots the API, Web, and Collab servers with hot reload.
- Organizations needing fee-free course sales, OAuth single sign-on, or several brands under one deployment use the Enterprise tier.
- Instructors teaching programming use the code-execution and auto-grading path rather than manually marking submissions.
Getting started
Self-hosting starts with npx learnhouse@latest setup, a wizard that walks through domain, database, admin account, and optional features, then generates config files and starts the instance; subsequent npx learnhouse start and npx learnhouse update manage it. Development follows git clone https://github.com/learnhouse/learnhouse.git, cd learnhouse, npx learnhouse dev.
How it compares
The provided facts name no competing products, paid or otherwise, so LearnHouse stands alone in this registry. The only contrast the facts support is internal: the core is AGPL-3.0 and self-hosted, while payments with no fees and no lock-in, single sign-on, and multi-org are Enterprise features rather than parts of the open-source build.
When to use it — and when not to
A self-hoster must operate the full stack, including PostgreSQL and Redis, a domain, and the update and backup cycle that the CLI wraps but does not remove. Anyone unwilling to run a database, or who needs payments, SSO, or multi-organization tenancy without an Enterprise arrangement, should look elsewhere, since those features sit outside the open core. The AGPL-3.0 licence also matters to anyone planning to fork LearnHouse into a closed-source product, and the README excerpt itself is heavier on feature listings than on operational detail, so the documentation site is the better source for deployment specifics.
project readme (upstream, from github) — read inline
The next-gen open-source platform for world-class educational content.
📖 Courses — Create and manage courses with ease
✏️ Editor — Powerful block-based Notion-like content editor
📦 Collections — Organize courses into curated bundles
📝 Assignments — Create tasks and track student submissions
💬 Discussions — Community forums for your learners
🎙️ Podcasts — Audio content for on-the-go learning
📊 Analytics — Track engagement and course performance
🧊 Playgrounds — AI-generated interactive elements, simulations & diagrams
💻 Code — Real code execution with auto-grading in 30+ languages
📋 Boards — Real-time collaborative whiteboards
🧠 AI — Context-aware AI for learning & teaching
🎓 Certificates — Auto-generate certificates on course completion
👥 User Groups — Organize learners and control access
🔍 SEO — Built-in SEO optimization with metadata, sitemaps & open graph
🎨 Customization — Custom branding, landing pages & theming
💳 Payments (Enterprise) — Sell courses with no fees and no lock-in
🔐 SSO (Enterprise) — Single sign-on with OAuth providers
🏢 Multi-Org (Enterprise) — Run multiple organizations from a single instance
🚀 Get Started
LearnHouse has an official CLI that handles everything — self-hosting, updates, backups, and local development.
Self-host
npx learnhouse@latest setup
The setup wizard walks you through domain, database, admin account, and optional features. Once done, it generates all config files and starts your instance.
npx learnhouse start # Start services
npx learnhouse stop # Stop services
npx learnhouse update # Update to latest version
npx learnhouse logs # Stream logs
npx learnhouse backup # Backup database
npx learnhouse doctor # Diagnose issues
Development
git clone https://github.com/learnhouse/learnhouse.git
cd learnhouse
npx learnhouse dev
This spins up PostgreSQL and Redis, installs dependencies, and starts the API, Web, and Collab servers with hot reload.
See the full CLI documentation for all commands and options.
🛠️ Tech Stack
📁 Project Structure
💬 Community
🤝 Contributing
git clone https://github.com/learnhouse/learnhouse.git
cd learnhouse
npx learnhouse dev
🔒 Security
We take the security of LearnHouse and the data entrusted to us seriously. If you discover a vulnerability, please email [email protected] — do not disclose it publicly until we've had a chance to investigate.
Please include a clear description, steps to reproduce, affected endpoints, and any relevant screenshots or proof-of-concept code. We will acknowledge your report, keep you informed, and credit you once resolved if you wish.
See our full Security Policy for details on our practices, scope, and responsible disclosure guidelines.
✍️ Author & Maintainer
Sweave (Badr B.) — @swve
💜 A Word
LearnHouse is made with 💜, from the UI to the features it is carefully designed to make students and teachers lives easier and make education software more enjoyable.
Thank you and have fun using/developing