CarePortal LMS Case Study

Global Orphan is an international organization that specializes in helping children and families around the world get the help and support they need.
CarePortal LMS - mockup


Global Orphan had previously worked with Code Koalas on several Laravel projects, completing and enhancing their CarePortal app which allowed for thousands of churches, communities, agencies and users to help meet the needs of families and foster children across the country.

Coming off of these successful launches, Global Orphan began to study bottlenecks on user interaction. One major bottleneck discovered was that typical users and community responders often were not fully trained on the functionality that CarePortal provides, allowing them to accidentally miss critical steps in their daily interaction.

The proposed plan was simple: create a Learning Management System that can fully integrate into the user experience on, allowing for the correct training to be presented to the user ‘Just In Time’. The LMS was planned to allow for multiple training paths based on user role, with multiple courses, videos, and questionnaires integrated within it.

Since we completed the previous iterations of the CarePortal Laravel app, our team was well versed in the functionality of the system. We met with Global Orphan to plan out the project, spending time on discovery to ensure that every workflow, data model, role, and action was once again accounted for. This was an absolutely necessary step for the project, ensuring that all components remained operational, given that the existing app had a massive codebase and functionality. After discovery was complete, we met again to discuss our outline, gathered feedback, and signed a formal work agreement to begin work on the application.


Through the discovery, we planned the buildout and outlined every update that needed to be deployed, ensuring that new functionality would maintain and compliment existing workflows. We organized all work according to role and data model, so that specific models and roles that contained similar functionality would be tackled at the same time. Work was broken out by ticket and assigned in 2-week sprints, with client meetings occurring weekly to showcase progress and discuss new functionality. New functionality was routinely pushed live while additional features were being developed, allowing us to approach the entire project in a phased approach which provided the client with faster feedback and integration.

Since we had already built out the backbone of, our first step was to create a complementary LMS; for this, we chose Drupal’s Opingo. Building on the stability of Drupal 8, we quickly spun up the LMS framework and tied it into via SSO authentication.

Our next step was to add an organizational structure, allowing multiple accounts and businesses to utilize their own custom learning paths and content. Once that was in place, we spent a considerable amount of time creating the course infrastructure. Course creation needed to be intuitive, and include a variety of paths and user interactions.

Once the courses were built out, the client created a learning path for Community Responders in CarePortal, which we then integrated directly with the child request process. Integrating this early on allowed for quick adoption of the LMS system, and provided responders with months of successful learning and interaction. Invaluable data was also collected, allowing for tweaks and enhancements to the LMS system as we worked to open it up to additional organizations.

Throughout the buildout process, our project managers QA’d features and functionality on the website as they were created and pushed to our development server. We regularly handed off sections of the site to the client for QA, ensuring that everyone had tested and signed off on the style changes prior to launch. Once features were verified, they were pushed to a second server in a live testing environment for an additional round of testing. We also created pipeline tests that ran prior to every code merge, ensuring that all new functionality wouldn’t affect existing workflows and procedures.


The new LMS functionality delivers custom tailored training to an already fully functional app experience. On launch, this immediately gave thousands of users new insight into the features and capabilities of, allowing them to more fully interact with requests. Training is delivered organically within existing user experiences, and course creation is intuitive and versatile. Multiple organizations are able to sign up and utilize the training for their own company, further expanding the reach and influence of the CarePortal app. CarePortal’s updated app elevates their brand, positioning them as a unique and important player in communities across the country. Countless family's lives will be improved daily through their efforts.


  • Create a fully-scalable Learning Management System that fully integrates within the CarePortal Platform.
  • Allow for additional organizations to signup and utilize the LMS within their own organization
  • Provide greater training and transparency for users of the CarePortal Platform via customized learning paths that integrate within the existing websites

Core Solutions


  • Custom API’s integrating courses and learning paths into the existing app
  • Git pipelines and tests to ensure new functionality doesn’t break existing code

Open Source

  • Drupal 8
  • Opingo theme and functionality
  • SSO integration


  • Seamless functionality across all platforms and multiple screen sizes.
  • Updated design aligning with brand standards

Want to talk about how we can work together?

Ryan can help

Ryan Wyse