selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

Bloom logo

Self-host Bloom

AI tutor that adapts lessons to how you learn

BetaOpen SourceMIT
Updatedlast week
LanguageJavaScript
Setup difficultyModerate
Stars
294
Ports
80 (Frontend (Docker container)), 8000 (Backend development server)
Requires
OpenAI-compatible LLM API, SQLite
Install with Docker Compose
Lesson page with chapter sidebar, highlighted passage with note, and side panels

What is Bloom?

Bloom is an AI tutor that generates structured syllabi and delivers adaptive lessons one at a time. It reads your highlights, annotations, and feedback to tailor each subsequent lesson to your understanding level, based on Bloom's 2-Sigma research showing 1-on-1 tutoring achieves top 2% performance. Offers both CLI mode (via Claude Code) and web mode (React + FastAPI with SQLite). Supports three course modes: topic-based generation, source upload (PDF/TXT/MD), and project files (folder import). Features include adaptive lessons, highlight Q&A sessions, streaming lesson generation, learning calendar with activity heatmap, and mastery tracking. The self-hosted version requires an OpenAI-compatible LLM API key and runs via Docker Compose or manual Python/Node.js setup.

Should you self-host Bloom?

Bloom scores 45/100 on selfhost.directory (how scoring works) and ranks #19 of 30 in Education. It has 294 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. It is MIT-licensed and written mostly in JavaScript.

Its closest alternative on selfhost.directory is CTFd (70/100, 6 893 stars). It scores higher overall, so compare the two before you pick. See Bloom vs CTFd side by side.

Features

  • Adaptive lessons
  • CLI mode via Claude Code
  • Highlight Q&A
  • Learning calendar & heatmap
  • Learning depth selection
  • Mastery learning
  • Next-topic recommendations
  • Portable Claude Code skills
  • Socratic questioning
  • Source citation
  • Spaced review
  • Streaming generation
  • Three course modes

Bloom README

How to install Bloom

Install Bloom with Docker Compose

Environment variables
LLM_API_KEY, LLM_BASE_URL, LLM_MODEL, CORS_ORIGINS, DATABASE_URL

cp .env.example .env # fill in API key docker compose up -d # visit http://localhost:3000

Requires Docker and docker-compose; builds backend and frontend images locally

How to configure Bloom

  • CORS_ORIGINShttp://localhost:5173,http://localhost:3000Allowed CORS origins for frontend

    Allowed CORS origins for frontend

  • DATABASE_URLsqlite:///./bloom.dbDatabase connection URL (SQLite)

    Database connection URL (SQLite)

  • LLM_API_KEYAPI key for OpenAI-compatible LLM provider

    API key for OpenAI-compatible LLM provider

  • LLM_BASE_URLhttps://dashscope.aliyuncs.com/compatible-mode/v1Base URL for OpenAI-compatible LLM API

    Base URL for OpenAI-compatible LLM API

  • LLM_MODELqwen-plusModel name to use for LLM calls

    Model name to use for LLM calls

FAQ

What happens to my materials and courses?

Your courses, notes, and uploads are stored in your account. Relevant text is sent to an AI model provider for lesson generation. Personal data is not sold.

What can I upload?

PDF, plain text, and Markdown files for source-based courses. Topic courses can also take PDF and Markdown as reference. Project files accept single files or whole folders.

Will Bloom get me the 2-sigma result?

The 2-sigma finding was about human tutors compared to conventional classrooms. Bloom is inspired by it but does not promise the same result.

How is that different from chatting with an AI assistant?

A chat answers whatever you type. Bloom keeps a plan: a syllabus of things to master, lessons in order, your questions saved on the passages they are about, and your feedback carried into the next lesson.

What exactly is Bloom?

Bloom is an AI tutor that writes a syllabus and teaches one lesson at a time, shaping each next lesson around your highlights, questions, and feedback.

More in Learning Management System

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…