LearnHouse is an open-source, next-generation learning management platform designed to empower educators and institutions to create rich, interactive courses without vendor lock-in. Built with Next.js, FastAPI, and PostgreSQL, it combines a Notion-like block-based editor for course content with support for videos, documents, quizzes, and AI-assisted learning. The platform targets schools, training providers, and self-hosted educators who need a flexible, scalable alternative to proprietary LMS solutions. With multi-organization support and a headless architecture, LearnHouse enables customization for diverse educational needs while maintaining ease of use.
Currently in beta, LearnHouse is actively developed with community-driven prioritization. It emphasizes accessibility through Radix UI, performance via FastAPI and Redis, and extensibility through its modular design. The platform includes a companion LearnHouse University built with itself, demonstrating its capabilities in practice.
What You Get
- Dynamic notion-like Blocks-based Courses & editor - Create courses using a flexible, block-based editor powered by Tiptap, allowing instructors to mix text, media, and interactive elements in a Notion-style interface.
- Supports Uploadable Videos and external videos like YouTube - Instructors can embed or upload video content directly into courses, enabling hybrid learning experiences without relying on third-party platforms.
- Supports documents like PDF - Seamlessly integrate course materials in PDF format, making it easy to share syllabi, handouts, and reference materials.
- Multi-Organization - Manage multiple educational institutions or departments within a single LearnHouse instance, with isolated content and user access controls.
- Users & Groups Management - Assign roles, create groups (e.g., students, instructors), and control access to courses and content based on user membership.
- Quizzes - Build formative assessments with multiple-choice, true/false, or short-answer questions to evaluate learner understanding.
- Course Collections - Organize related courses into curated collections for structured learning paths or curriculum planning.
- Course Progress Tracking - Monitor individual and group progress through courses, including completion status and time spent.
- Course Updates - Notify learners of content changes or additions, keeping them engaged with evolving material.
- LearnHouse AI: The Teachers and Students copilot - An integrated AI assistant that helps instructors draft content and students with explanations, summaries, or study suggestions.
- Self-hosting via Docker - Deploy LearnHouse locally or on private infrastructure using docker-compose, with full control over data and scaling.
Common Use Cases
- Building a multi-tenant SaaS education platform - Institutions or edtech startups can use LearnHouse to offer branded, isolated course environments for different clients while sharing a single codebase.
- Creating a K-12 or university LMS with custom content - Educators can design interactive, media-rich courses using blocks and documents without needing developers to build from scratch.
- Problem: Heavy reliance on proprietary LMS platforms → Solution: Self-host LearnHouse - Schools frustrated with expensive, inflexible SaaS LMS tools can deploy a fully customizable, open-source alternative with AI features.
- DevOps teams managing educational platforms - Infrastructure teams use Docker and PostgreSQL/Redis to maintain scalable, secure deployments of LearnHouse across staging and production environments.
Under The Hood
Learnhouse is a full-stack learning management platform built with a monorepo structure that separates frontend and backend components while supporting enterprise-grade features through an extensible EE module. The system emphasizes modular organization, layered architecture, and configuration-driven design to enable scalable educational content management.
Architecture
Learnhouse adopts a layered architecture with distinct modules for core functionality, enterprise extensions, and configuration management.
- The system uses a modular structure organized by domain (e.g., payments, SSO, SCORM) with dedicated routers and database models to ensure clear separation of concerns
- Design patterns such as strategy and factory are applied in how configuration classes and enterprise features are structured and extended
- Component interactions are handled through API gateways and middleware, ensuring a well-defined data flow between UIs and backend services
- The architecture supports extensibility through an EE module that integrates enterprise features like audit logging and SSO
Tech Stack
The platform is built using a modern full-stack tech stack combining Python and TypeScript for robust performance and scalability.
- The backend is implemented in Python with FastAPI, while the frontend uses TypeScript and Next.js to provide a responsive and type-safe user interface
- Key dependencies include SQLModel for database operations, Stripe for payment processing, Sentry for error tracking, and Tiptap for rich text editing
- Development and deployment are supported by Docker for containerization, Turbo for monorepo management, and Sentry for monitoring
- Testing is handled through pytest for backend components and Next.js’s built-in testing capabilities for frontend elements
Code Quality
The codebase reflects a mixed quality with some structured testing and error handling practices, although gaps exist in consistency and coverage.
- Testing efforts are present with a focus on access control and endpoint protection, indicating an emphasis on security validation
- Error handling is implemented across modules using various patterns including try/except blocks and custom exceptions, though not uniformly applied
- Code consistency is maintained through naming conventions and modular structure, but technical debt is visible in duplicated logic and incomplete coverage
- Indicators of ongoing challenges include limited test files analyzed and inconsistent strategies for error propagation
What Makes It Unique
Learnhouse distinguishes itself through its hybrid architecture and configuration-driven approach to enterprise learning platforms.
- The platform combines Python/FastAPI backend with TypeScript/Next.js frontend, offering a unique blend of performance and modern UI development
- Configuration-driven design patterns allow for flexible extension and customization, particularly in enterprise environments
- Extensive support for features like audit logging, SSO integrations, and payment handling sets it apart from generic LMS solutions
- Its modular structure enables easy integration of new features and services without disrupting existing functionality