CarePortal Preference Center 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 Preference Center - mockup

Discover and Design

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 the inability of users in the CarePortal app to quickly manage their notification preferences. Though this didn’t seem like a bottleneck at first, on further investigation it was discovered that users felt they had no transparency over the kind of emails they got, often-times leading them to fully unsubscribe from all marketing emails, which inadvertently limited notification of agency requests, often resulting in insufficient funding.

The proposed plan was simple: create a universal preferences landing page that displays all possible marketing communications the user could sign up for, along with transparent information as to what each opt-in would entail. Rolled into this was also the ability for users to control the type of notifications they received from the CarePortal app, allowing them to receive notifications in the way that worked best for them, either email, text or app.

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.

Since we had already built out the backbone for users to receive multiple types of CarePortal notifications in previous projects, our first step was creating a form that displayed all possible notification categories while presenting the user with their current settings. Since this impacted how users received requests, we conducted extensive testing to ensure that notifications would continue to be received while respecting each user’s preferences.

Our next step was implementing a full SalesForce preference sync. Integrating into the SalesForce API, we were able to quickly pull and aggregate the preferences available, and map them to what each user had set up. We added descriptive form and fields to the preferences page with copy describing what each notification entailed. Once that was in place, we added new api functionality to store any changes in their SalesForce record, ensuring that all future marketing efforts would correctly respect their settings.

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 Preference Center functionality delivers greater transparency to an already fully functional app experience. On launch, this immediately gave thousands of users new flexibility to manage their notifications across the multiple organizations, apps and websites that Global Orphan manages, ensuring that notifications for needy children continue to be delivered to concerned community members nationwide. As further integrations roll out, we expect that CarePortal will continue to be able to impact thousands of children through North America, improving their lives through the new integrations. 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.


  • Fully sync marketing preferences from SalesForce across Global Orphan’s multiple organizations
  • Allow for users to easily opt into marketing communications and emails
  • Provide greater transparency while interacting with the CarePortal App

Core Solutions


  • Custom SalesForce integration saving marketing preferences per account
  • Git pipelines and tests to ensure new functionality doesn’t break existing code

Open Source

  • Utilization of site-wide Laravel and Blade templates
  • Comprehensive email functionality testing through available OS services


  • 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