A favicon of LearnHouse

LearnHouse

A self-hosted course platform for teachers and training teams, covering authoring, assignments, discussion and certificates in a single instance.

Screenshot of LearnHouse websiteVisit LearnHouse

LearnHouse is a platform for building and running educational content, from one instructor publishing a course to an organization training its staff. It puts authoring, delivery, discussion and assessment in a single instance instead of stitching a course tool to a forum to a video host.

The codebase splits into four applications. A Next.js and React frontend carries the dashboard, course player and Notion style block editor built on Tiptap; a FastAPI backend in Python handles auth, courses, payments, AI and analytics; a Hocuspocus and Yjs server syncs live collaboration; and an official CLI manages instances. PostgreSQL and Redis sit underneath, with S3 for files.

Teaching features reach past text and video.

  • Code: real code execution with auto-grading in more than 30 languages.
  • Playgrounds: AI generated interactive elements, simulations and diagrams.
  • Boards: whiteboards several people edit at the same time.
  • Assignments: set tasks, track submissions and issue certificates on completion.
  • Podcasts: publish audio for learners who are not at a desk.
  • Analytics: follow engagement and course performance across an organization.

Self-hosting starts with one npx command that opens a setup wizard for domain, database, admin account and optional features, then writes the config and starts the services. The same CLI streams logs, takes backups, applies updates and diagnoses problems. The core is AGPL-3.0, while payments, single sign-on and running multiple organizations from one instance sit under a separate enterprise license.

Share:
Details:

Auto-fetched from GitHub .

Ad

 

 
 
 
 

Open source alternatives similar to LearnHouse:

 

 
 
  • Stars


  • Forks


  • Last commit


 

 
 
  • Stars


  • Forks


  • Last commit


 

 
 
  • Stars


  • Forks


  • Last commit