Skip to content
Back to portfolio
Web·2026·Inclusive App Craft

Migrating a legacy LMS into a new platform with zero data loss

I migrated years of student learning data — accounts, courses, lessons, enrolments, and progress — out of an old Django LMS and into the new Inclusive App Craft API, then cut over cleanly.

The challenge

The old platform held real student history that couldn't be lost or scrambled. I needed a faithful, repeatable migration into a different data model, plus a cutover that didn't strand anyone mid-course.

How I approached it

  • Mapped the old schema to the new API's models for users, courses, lessons, enrolments, and progress.
  • Wrote a repeatable ETL management command that could be dry-run and safely re-run.
  • Validated record counts and relationships before committing to the cutover.
  • Completed the cutover with the new API as the system of record.

Outcomes

  • Student accounts, course structure, and progress preserved intact.
  • A repeatable, re-runnable migration rather than a one-off manual import.
  • Clean cutover to the new platform.