Forking the Lesson Hollow Repo

Any vibe coder can build a homeschool dashboard from scratch, but that is a poor use of tokens. Fork Lesson Hollow, vibe-code it into your perfect learning management system, and self-host it. Spend the tokens you save on the important part: the study sequences (curricula) that learners open from the dashboard.

The repository

Lesson Hollow is open source under the MIT license. The full repository is at github.com/sallycole/lessonhollow. Fork it to your own GitHub account, then clone your fork locally.

Local setup

After cloning, install dependencies and start the dev server. The repo includes a Nix flake for reproducible tooling. If you have Nix and direnv installed, run direnv allow to drop into a shell with Node 22 ready. Without Nix, install Node 22 yourself.

  1. Copy .env.example to .env.local and fill in your own keys. The file documents each variable. At minimum you need Supabase credentials.
  2. Run npm install to install dependencies.
  3. Run npm run dev to start the local server at http://localhost:3000.

See the README for the full list of environment variables. Most are optional for local development. You only need to fill in what you plan to use.

Self-hosting

The app is designed to deploy to Fly.io via Docker. The repo includes a Dockerfile and fly.toml that work out of the box. You can also deploy to any platform that supports Docker containers or the Next.js standalone output.

Check the README for deployment details and how to configure Fly secrets for production.

Spend your tokens on curricula

Once the dashboard works, point your LLM sessions at building great curricula instead of reinventing plumbing. Curricula are where learning outcomes happen. The dashboard just keeps them organized.

Contributing upstream

If you build a curriculum worth sharing, consider contributing it back to the main repository. The CONTRIBUTING.md file explains how to submit a curriculum CSV via pull request. Your curriculum can then appear on lessonhollow.com for other families to use.