Academy
Our own learning environment: courses, quizzes, certificates and learning journeys.
Academy is the learning environment I built to replace a paid LMS subscription. Colleagues follow courses made of text, video, PDF and quiz lessons, earn certificates and work through learning journeys, while HR and team leads see who is on track and who needs a nudge.
The problem
We paid per seat for a learning platform that had no export and knew nothing about our people. Every new colleague meant assigning courses by hand, deadlines and reminders lived in someone's head, and getting content out of it again meant scraping or retyping. Most of what we used it for was text, a video and a short quiz.
The approach
It runs as a Cloudflare Worker with Supabase, behind the same sign-on as our other internal tools. Learners come from the HR system mirror, so learning paths can target a department, a function or an office, and a daily cron applies them and sends reminders a week before a deadline, on the day, and weekly when late. Quiz answers are scored on the server, so the answer key never reaches the browser. To make writing courses easy, I defined a course JSON format plus a skill for AI assistants: a colleague lets their own assistant draft a course and imports it as a draft. The same format carried the migration of all 25 existing courses.
Highlights
- checkLearning journeys: ordered courses per team, where the next journey unlocks once the previous one is complete
- checkQuizzes with one or several correct answers, scored on the server with explanations per question
- checkAssignment straight from HR data, plus a daily job for reminders before and after deadlines
- checkCourse JSON format with an AI-assistant skill, validated on import; 25 legacy courses moved over through it
- checkPrintable certificates, a team view for managers, and a searchable knowledge base that turns Word and PDF files into pages in the browser