article Published By Miguel Guhlin AI, Technology & Tools

Vibe-Coding a Self-Hosted LMS with Courses

Six ways SapiqoLMS has grown: course authoring, groups, assessments, reporting, credentials, and integrations on your own server.

sapiqolms hero image

The short version

Six ways SapiqoLMS has grown: course authoring, groups, assessments, reporting, credentials, and integrations on your own server.

Could I use Gen AI to build a learning management system my organization could host on its own equipment? That question started this project. Getting existing courses into a working LMS was the first goal. Then came the familiar educator question: “What else would make this useful?”

Turns out, quite a bit. SapiqoLMS now goes beyond importing courses. Here are six changes that caught my attention as this weekend project grew.

1. Create courses inside the LMS

Remember when I said the interface for creating a course from scratch was missing? That has changed. There’s now a visual block editor and Markdown authoring, with support for text, images, videos, files, and a resource center. I like having both options. Sometimes, you want to write; other times, you want to arrange the pieces and see how they fit.

2. Organize learning around your people

Schools don’t operate as one giant list of users. We have campuses, departments, and district teams. Groups, organizations, enrollment management, and roles make those arrangements possible. For me, that’s a practical requirement: the people managing professional learning need a structure that matches the people they serve.

3. Give learners something to do

Watching a video is one thing. Checking your understanding and discussing an idea with colleagues? That’s where a course gets more interesting. SapiqoLMS includes quizzes, assessments, and threaded discussions. I can imagine a campus team working through a course, then using the discussion space to connect it to their classrooms.

4. See progress without the guessing

Reporting drove me crazy in previous LMSs. A gradebook and progress reports give this project a better starting point for answering the question administrators always ask: “How are our people doing?” That’s useful when you’re supporting learners and following up on incomplete work.

5. Give achievement a lasting record

Badges, certificates, CPE credit, and a permanent learner transcript are now part of the picture. Completing professional learning should leave you with something you can find again. I like the idea of keeping that record alongside the learning itself.

6. Host it yourself and connect other tools

The application uses PHP and PDO, with SQLite or MySQL/MariaDB. It doesn’t require Composer or npm to run. Optional integrations include SSO, LTI 1.3, SCORM, Common Cartridge, OneRoster, and a REST API, configured for your installation.

No doubt, there’s more work ahead. The roadmap still calls for stronger recovery, accessible navigation, assignments, rubrics, and institutional pilots. But creating courses is no longer a “what’s next?” item. That’s a nifty step forward.

Share This Post