Case Studies

We have provided many solutions to clients through the years. Here are some examples of varying projects and how we delivered the solutions.


Cross-platform Mobile Application

Objective

A client identified a need to increase engagement with their members by adding new platforms, features, modules and functionality to their existing ecosystem. This required the creation of a new mobile application, web portal, API and integration with their existing websites and CRM system.

Challenge

The primary component of this project was to be a cross-platform, cross-device mobile application. It included the following requirements:

  • must run on iOS and Android
  • must be written in web technologies
  • must contain new features and functionality which didn't previously exist
  • must implement some key functionality which did previously exist

This was to be a fairly large app with many different modules, some of which have quite a bit of complexity. Additionally, the client's current ecosystem did not have the back end support for most of this new functionality, so we'd have to create that as well.

The client also needed to be certain that any new functionality created for the app which didn't already exist within their ecosystem somewhere also have a web counterpart so no users would be left out. This meant that we'd also have to create a web app which contained all of these new features, an administrative portal for management of these features, integration within their existing CRM system all while allowing it to be embedded and integrate with but separate from their other web applications.

Solution

Mobile App: After considering several options, we selected to use the Ionic framework to use to build the mobile app. It provides native device functionality, great components, uses web technologies and runs well on iPhones, iPads and Android phones and tablets. After building out the app, it runs and looks great on all devices.

Web App: We had a variety of options but selected to use the Angular framework to create a single page application which could be hosted. This allowed some code sharing between the mobile and web apps. It also shares the same authentication/authorization model that the mobile app used. These aspects helped reduce the development time required. The web app is themed to be embedded with the existing web app and integrates very well to present a seamless user experience.

Back-end Service (API): The API was to be hosted on premises alongside other existing apps. We selected to create a .Net Core stand-alone application that did not require machine-level dependencies. This makes deployment a breeze. It also helps ensure encapsulation from all the other apps. A performance gain is also a benefit from using this technology. Now, there is a back end that is shared between the mobile app and web app which can also be used in any other future implementation.

Result

The client now has a full-featured, cross-platform/cross-device mobile application, companion integratable web app and shared back end to support these. This helps the client deepen their engagement with their tens of thousands of members, increase inner-membership engagement, drive new membership and donations.


Ad-hoc Patriot-integrated Event Registration

Objective

A client needed a way to be able to leverage the existing Patriot CRM platform which has an events module to be able to be used to create ad-hoc events and registrations. Registration could be free of charge, for a fee or for a donation. Everything must be able to seamlessly integrate with the current Patriot system according to established paradigms. The module also should be able to be branded and integrated seamlessly into an existing web property.

Challenge

The primary challenges unique to this project were finding ways to leverage the existing database structure and CRM system interface/behavior in a way that allowed additional functionality and features that were not part of the CRM system's initial design. The secondary challenge was to maximize the flexibility and customization of the utility to achieve the widest possible usage.

Solution

Though inspection of the existing usage of this area of the CRM system, there were several fields and configuration values that were unused. Leverage these as well as other configuration values and conventions, we were able to create flexibility and customization which allowed for uses which were not in the design and constraints of the CRM system.

We were then able to develop the tool which was embeddable into the client's existing web properties seamlessly. The utility is responsive and mobile friendly, reactive, user-friendly and intuitive, and solves a number of business needs.

Result

The client is now able to set up and configure a variety of event types in the CRM system that members and guests can register for. These events can be free, paid or for donation. There are different entry points into the registration process to allow specific events to be the starting point, pre-population of registrant information if known, and additional configurations to allow the client to integrate the module as desired into their existing web properties.


Flexible, Custom Payments Utility

Objective

A client needed a way to create ad-hoc payment collection screens (and workflows) which integrated seamlessly with their existing CRM system and website. Not only did the module need to collect and process payments, it also needed to:

  • integrate seamlessly into any arbitrary workflow and exit back into that workflow
  • allow for member information lookup or unique token-based member identification
  • allow for unique url to be generated/provided to each payee
  • display custom screen for any type of payment purpose to be processed
  • execute custom client-created workflows upon successful payment
  • have administration screens for creation and management of the requests for payment and payment history

Challenge

One of the primary challenges was to be able to achieve the goal of creating this utility to be maximally flexible yet simple enough that the client could use, maintain and extend it in the future without extensive programming knowledge.

An additional challenge was that this utility was to be able to be integrated seamlessly into any existing or new workflow process in any of the client's web properties. This meant that the utility would be embedded (yet remain a separate system), be entered into in the desired configuration with the desired data, and exit to the desired exit points at any stage of the utility's workflow.

Solution

The client has IT staff who are versed in T-SQL and can implement custom workflows within the database. Leveraging this allowed us to design the utility such that nearly any conceivable workflow could be achieved. We were also able to work within the client's content management system to facilitate the embedability and controlled entry point into the module from within any of their existing or new workflows.

Result

The client now has a highly flexible and customizeable payment collection and tracking system. This utility can allow for single or bulk payment requests to be created. Each of which can be templatized and customized to target and address individuals or groups. It can be integrated into any public-facing workflow process that the client needs now or in the future. It also can facilitate nearly any back end workflow process. It integrates with the clients CRM system and provides additional administrative control and monitoring.


Bounced Email Management, Spam Score

Objective

A client had a need to automate the process of identifying bounced emails after sent and marking them as invalid in the CRM system. The CRM system has an integrated mail engine which is used to send most of the emails to members but which does not obtain any results after the emails are relayed to the mail server.

An additional objective was to better manage the ins-and-outs of sending bulk email in order to maintain a low spam score and avoid graylisting and blacklisting.

Challenge

Due to the designed limitations of the current CRM system's email engine yet maintaining it as an indespensible component, a creative solution was needed. Additionally, designing a system which was able to handle manage the vast complexities of navigating the email spam scoring strategies while remaining simple to use and cost-effective to implement was needed.

Solution

Research into the inner workings of the CRM system's email engine coupled with existing potential paths forward revealed a coupling that had real potential. We were able to leverage MailChimp's Mandrill product to achieve the objective of protecting the client's domain by navigating the email spam scoring strategies. Mandrill also provided additional extensibility which allowed tie-in back to the CRM system to implement custom workflows upon the various events associated with an email sent, such as successful delivery, open or bounce. We created a system that worked with Mandrill and implemented the custom workflows to take desired actions upon each event as well as opening the doors for future possibilities.

Result

Not only does the client's domain maintain an excellent reputation with the unlikelihood of being graylisted or blacklisted in the future, all of their email addresses which are undeliverable are noted as such in their CRM without any necessary manual intervention. This has saved countless hours of manual labor tracking down bounced emails and entering the data manually to mark them as undeliverable. Furthermore, it helps provide a clean way for the client to identify the bad contact information of their members in a timely fashion and act to communicate with them to get the correct information to maintain consistent engagement. Mandrill also provides a myriad of metrics to help the client measure their effectiveness of email engagement and make course corrections to increase that level of effectiveness. All of this came at a fraction of the client's anticipated cost of achieving this goal.

By studying, analyzing and understanding the core business problem and its consequences, we were able to find the right solution for each part of this complex problem and bring them together to save the client time and money and to help them communicate more effectively with their members.