DEV Community

Cover image for Equip: an open-source LMS for small schools and volunteer-run programs (React, FastAPI, Supabase)
Vadym Arnaut
Vadym Arnaut

Posted on Edited on

Equip: an open-source LMS for small schools and volunteer-run programs (React, FastAPI, Supabase)

Why I’m writing this

Small Bible schools, home groups, and volunteer-run training programs still run classes on paper, messengers, and spreadsheets. Big LMS products are either too expensive or too heavy for a team that has no DevOps and no budget.

Equip is a free, open-source learning platform built for that reality: tens to low hundreds of users, not “enterprise 10k seats”.

The code is on GitHub under MIT. Issues and PRs are open.


What it does today

  • Courses → modules → chapters with a TipTap rich editor (text, images, YouTube, callouts, audio).
  • Quizzes — multiple choice, true/false, short answer, essay; teacher grading and extra attempts when needed.
  • Assignments + gradebook, progress, certificates (with approval flow).
  • Teacher & admin tools: cohorts, calendar, announcements, analytics, soft-delete / restore, CSV export.
  • Auth via Supabase (email/password + Google).
  • Deploy: Vercel (static frontend + serverless FastAPI backend), Postgres on Supabase with RLS.

Live app: equipbible.com

Roadmap: in the repo → ROADMAP.md

How to contribute: CONTRIBUTING.md


Stack (if you like concrete tech)

Layer Tech
UI React 18, TypeScript, Vite, Tailwind, shadcn/ui, TipTap, Radix
API Python 3.12, FastAPI, SQLAlchemy 2, Pydantic 2
Data PostgreSQL (Supabase), migrations in supabase/migrations/*.sql
CI GitHub Actions — lint, typecheck, tests (backend + frontend)

We keep conventional commits, no Docker in the project by design, and we care about types (mypy + strict TypeScript) and a clean codebase.


Where contributions land

  • Good first issues — filter by good first issue on GitHub.
  • UI/UX — especially accessibility and a calmer, “editorial” reading experience.
  • Docs — setup stories from real machines (Windows / macOS / Linux) help a lot.
  • i18n — the product UI is largely Russian today; if you care about internationalization, that’s a meaningful roadmap area.

The project is built in public and meant to stay approachable for nonprofits and volunteers.


Free LMS, small scale, real classrooms.

GitHub logo ArVaViT / equip

Free, open-source LMS for Bible schools, ministries, and nonprofit educational programs. React + FastAPI + Supabase.

Equip logo

Equip

A free, open-source learning management system built for Bible schools church ministries, and nonprofit educational programs

MIT License Backend CI Frontend CI Good first issues Code coverage OpenSSF Scorecard

Live demo · Roadmap · Contributing · Support · Changelog


Screenshots













Equip login page — two-column layout with scripture on the left and a clean sign-in form on the right

Sign in (light)

Equip login page in dark mode

Sign in (dark)

Equip account creation with a Student or Teacher role chooser

Account creation — student / teacher role picker

Equip sign-in on a 390px mobile viewport

Mobile (390px)

Live at equipbible.com. Teacher and admin views (gradebook, course editor, analytics) are behind sign-in — create a free account to explore.


Why this project?

Hundreds of small Bible schools, home churches, and missionary training programs around the world still manage courses on paper, WhatsApp, or spreadsheets. Commercial LMS platforms are expensive, overkill, or require technical expertise that volunteer-run organizations simply don't have.

Equip is designed to change that:

  • Free forever — MIT-licensed, no paywalls, no "premium" tiers.
  • Simple to deploy — one-click Vercel deploy with a free Supabase database. No Docker, no servers to manage.
  • Built for small scale — optimized for 20-100 students, not…

Top comments (0)