Allows certain set up of curriculums by filling in forms (rich-text / WYSIWYG)
... our syllabus already exists as a hugo static site. Markdown + YAML + Git
Allows uploading of videos and other resources
... We can just use Youtube. No need to host big files
Fancy pants reports ... Education comes first
Our needs
Reduce dependency on staff!
... Peer to peer learning.
simulate real work environment as much as possible ... Most LMSs are like clever textbooks - we make professionals by simulating professional work environment
Tech ed as a first class citizen ... Some LMSs have plugins that could help a little... but pretty limited
Self-paced learning
Our superpower
We are very innovative in how we teach
Let's not lose that
Let's not limit future innovation
And so we built...
...what though?
Our syllabus is code
Kanban is a whole thing
Syllabus as code
Choosing the tech
Django - the web framework for perfectionists with deadlines
Django REST Framework (DRF) - quick, easy, rock-solid API development
React frontend
Introducing Tilde
Yes, this thing: ~
It means "home"... sort of
LEAN
laser focus on users
Learners
Learners
Repo project cards
Card in backlog, learner chooses to start
Backend...
Create Github repo
Protect main branch
Add learner and reviewers as collaborators
Learner makes pull requests
Peers review
Learners
Review + Feedback columns
Interpreting bouncy cards
If many learners approve and a trusted reviewer doesn't
knowledge gap to be plugged
If a learner has one extra bouncy card
They need help
If a specific project always leads to extra bouncy cards
revise project spec
If a specific reviewer always involved in bounciness
intervene
If a specific learner's cards just tend to be bouncier
allocate support early
On the ground staff
Admin
Data requests and scripting
Great success!
We are better than we were on-prem
Learners can take part in our selection bootcamps on their cellphones :)
We are able to remotely teach learners across Africa
MISSION ++
To reduce social inequality in Africa through digital education
Takeaways
Django saves lives, try it out (especially if you hate ORMs)
Build-it-yourself versus off the shelf:
Do you even need the advertised features?
Will you retain your ability to innovate? Do you need to?