Open source · MIT licensed
The LMS built for corporate training — not classrooms.
Self-hosted on your own AWS. Plug in your identity provider, your S3, and your AI. Onboarding paths, compliance tracking, manager dashboards — and yours to customize without a fork.
- Next.js
- TypeScript
- Postgres + pgvector
- AWS Bedrock
- Docker
Why KarmaLMS
Built for the company case from line one — not bent out of a school tool.
Built for companies
Onboarding paths assigned by role and start date — not semesters and gradebooks.
Compliance tracking
Certifications with expiry dates and automatic reminders when they lapse.
Manager dashboards
See who on your team is overdue, at a glance.
AI-native
Paste a doc — get drafted lessons and a quiz. An AI tutor grounded in your content.
Runs on your cloud
Your AWS account, your VPC, your data. One docker compose up to try it.
Customize, don't fork
Branding, theming, and a replaceable login page — all config-driven.
Bring your own everything
Three pluggable adapters. The app depends only on the interfaces, so swapping a provider is a config change — never a code change.
Auth
OIDC (Cognito, Okta, Azure AD), SAML, or trusted-JWT — append KarmaLMS to your existing portal session. Passwords never stored.
Storage
Any S3-compatible store — AWS S3, MinIO, Cloudflare R2 — via a configurable endpoint.
AI
AWS Bedrock (inference inside your own account), an OpenAI-compatible API, or none.
Get started in 30 seconds
No AWS account needed to try it — Docker brings up the whole stack.
# clone, configure, run
git clone https://github.com/ranjan98/karmalms.git
cd karmalms && cp .env.example .env
docker compose up
App + Postgres + MinIO start together. Open localhost:3000.