LearnHouse is a free, open source learning management systems (lms) project written in Python and released under AGPL-3.0. It has 2,275 GitHub stars, 542 forks and 12 open issues, and was last pushed 5 days ago. On this registry it ranks #3 of 6 tracked projects in Learning Management Systems (LMS), with 5 head-to-head comparisons available. It gained 22 stars over the last 6 tracked days.

What is LearnHouse?

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.

License Stars CLI Version API Coverage Last Commit Issues Pull Requests

📖 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

Next.js React TypeScript TailwindCSS Radix UI Tiptap CodeMirror Yjs FastAPI Python PostgreSQL Redis Docker Stripe Gemini LlamaIndex AWS S3 Tinybird

📁 Project Structure

App Path Description Technology Used by
Web apps/web Frontend application — dashboard, course player, editor, landing pages Next.js, React, TailwindCSS, Tiptap Teachers, Students, Admins
API apps/api Backend REST API — auth, courses, payments, AI, analytics FastAPI, Python, SQLModel, Alembic Web, CLI, Collab
Collab apps/collab Real-time collaboration server — live editing sync for courses & boards Hocuspocus, Yjs, WebSocket Web (editor, boards)
CLI apps/cli Official CLI — setup wizard, dev environment, instance management Commander, Node.js Developers, Self-hosters

💬 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

readme truncated — read the full docs on github

Frequently asked questions

Is LearnHouse free to use?

LearnHouse is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does LearnHouse do?

Create, sell, and manage online courses with full control

What is LearnHouse written in?

LearnHouse is primarily written in Python. Its source is publicly available at https://github.com/learnhouse/learnhouse, and it has 2,275 GitHub stars.