The New Jersey Center for Teaching and Learning runs an educator platform used for STEM course materials, professional development, certification programs, and computer science curriculum. Lightning Kite has been NJCTL's software partner for more than 11 years, which means the work has included both steady maintenance and long-term modernization.
The Challenge
NJCTL depended on a mature Django platform that people already used every day. That made the technical problem harder than a normal rewrite. The site still had to support teachers and students while handling course materials, online learning, certification workflows, and curriculum access. Taking the platform offline for a big reset was not a realistic option.
The organization also needed the system to keep moving forward without turning modernization into a separate project that disrupted the people relying on it. Any migration had to respect budget limits, preserve day-to-day operations, and avoid breaking existing educator workflows.
Our Solution
We built and continue to maintain the main njctl.org platform while steadily modernizing the backend. Rather than treating maintenance and migration as separate tracks, we handled them together: keep the production system working, keep the organization moving, and replace aging pieces as better infrastructure became available.
The long-term modernization path has centered on moving Django-based systems to Lightning Server, our Kotlin backend framework. That gives NJCTL a cleaner foundation for future development without forcing a risky all-at-once cutover.
How the Migration Was Phased
The migration has been incremental by design. Older Django components can remain in production while newer services move onto Lightning Server, which keeps the platform usable throughout the transition. That matters for a site serving educators, because stability is part of the product.
The work is approximately 50% migrated today. That pace reflects the actual constraints of the engagement: modernize the system in a way that fits NJCTL's budget and operational needs, not in a way that looks dramatic on a project plan.
