// the find
learningequality/kolibri
Kolibri Learning Platform: the offline app for universal education
Kolibri is a Django/Vue.js offline-first learning platform built for schools with no reliable internet — think refugee camps, rural classrooms, and low-bandwidth deployments in the Global South. It ships as a self-contained server that teachers run on a Raspberry Pi or cheap laptop, serving the whole classroom over local WiFi. If your use case involves distributing educational content without assuming connectivity, this is the serious option.
The offline-sync architecture (via Morango, their custom Django sync engine) is genuinely well-engineered — it handles multi-master conflict resolution across devices that may never connect to each other directly. The plugin system is real: features like the coach dashboard, device management, and content importing are all first-class plugins that can be stripped from a build. i18n coverage is deep — Crowdin integration, custom font subsetting for Noto, RTL support — not bolted on as an afterthought. The BDD integration test suite with .feature files is a rare sign of a team that actually tests workflows, not just units.
The tech stack is aging in awkward ways: the frontend still uses Vuex (not Pinia) and the migration to Vue 3 has been a multi-year slog visible in the git history. The 946 forks vs 1067 stars ratio suggests a lot of downstream customization happening outside the main repo, which usually means the plugin API isn't expressive enough for real deployments. Getting a dev environment running requires nodeenv, pyenv, a specific Python version, and a pile of native dependencies — the getting started docs are honest about this but it's still a painful first hour. Content import depends on Kolibri Studio, a separate hosted service; if you want to use custom content at scale without Learning Equality's infrastructure, you're doing significant extra work.