AWS AppSync Helps Public Good Software Do Good by Prompting Real-Time Reader Action
Public Good Software is a leading cause-marketing platform with a goal of making news actionable by matching journalistic articles to relevant charitable causes. Embedded in articles on publishers’ websites, the company’s widget, the Impact Unit, identifies those matches and prompts readers to act. Public Good Software works with large brands committed to social-good campaigns, as well as nonprofits and media partners
Media partners integrate the widget into the master templates of their content management system (CMS) or into ad servers. Earlier versions of the Impact Unit made API calls to numerous services to capture the data needed to determine which causes should be linked to which articles. The sheer number of API calls added latency to the widget’s operation, and the size of the code behind the widget proved to be problematic for some publishers. The combination of latency and code size hindered Public Good Software’s ability to meet the needs of its current customers and attract new ones. “Our customers were approaching us with more complicated and complex campaigns with higher-volume media partners. We needed better performance from the Impact Unit to match that demand,” says Michael Manley, chief technology officer for Public Good Software.
“We went from concept to production in less than a month with a single engineer working on the AWS AppSync service.”
– Michael Manley, Chief Technology Officer, Public Good Software
-
About Public Good
-
Benefits
-
AWS Services Used
-
About Public Good
-
Public Good Software operates a leading cause-marketing platform. The platform, through contextual and personalized recommendations, allows media companies and cause-focused brands to encourage engagement and action centered on social causes.
-
Benefits
-
- Executed API improvement and moved to production in less than 1 month
- Updated API improves customer experience and speeds page-load times
- Application scales seamlessly to match variable site traffic
- API calls reduced from roughly 12 to 1 or 2
- Offloading infrastructure concerns keeps developers focused on improving API
-
AWS Services Used
From Proof of Concept to Production in Less Than a Month
Public Good Software planned to experiment with GraphQL, an open-source query language for APIs. “We realized that, if we used GraphQL correctly, the Impact Unit would need to make only one or two calls back to our services. GraphQL gives you the ability to specify exactly what data you want and request it once, rather than request it piecemeal from multiple services,” says Manley. When Manley’s team discovered Amazon Web Services (AWS) offered AWS AppSync, a GraphQL managed service, they wondered if it could help resolve their latency issues by reducing the number of API calls and do so without the need to maintain infrastructure.
The Public Good Software team discussed the use of AWS AppSync at a Monday planning meeting and by that Friday had already created a proof of concept. As a result of that exercise, the team was immediately able to reduce the number of API calls made over HTTPS from roughly a dozen to just one or two. Further, they could do this without having to maintain another API server. Manley had budgeted three months of work to find a solution, so discovering one so quickly was a pleasant surprise. Within only one month, the team had implemented AWS AppSync.
“For us, time-to-market was the biggest benefit. We went from concept to production in less than a month with a single engineer working on the AWS AppSync service. The next-most- valuable benefit was the service’s ability to scale with variable traffic,” says Manley. Public Good Software speculates that using AWS AppSync to provide its GraphQL API will be much less expensive, both for recurring expenses and labor, than implementing its own provider in the company’s application stack.
Because fewer calls were required from the client to the backend, the use of AWS AppSync lowered the latency in delivering actionable content. The combination of AWS AppSync and GraphQL meant data could be fetched and aggregated across multiple microservices in a single network request. “AWS AppSync allowed us to deliver a slimmer JavaScript library with the Impact Unit widget, which reduced the code size and latency. That meant we could offer our customers an improved experience with complicated campaigns and speed page-load times for our media partners,” says Manley.
Offload Infrastructure Concerns and Focus on Competitive Advantages
Public Good Software subscribes to the philosophy that if a technical competency does not distinguish the company in the marketplace, then it should hand off those tasks elsewhere. For the company, that means delegating functions to AWS products. Shifting these concerns to AWS frees the team to focus more on its APIs and other key projects. Manley says, “There are only four engineers on our team. For a company our size, it only makes sense to hand off to AWS that 80 or 90 percent of infrastructure functions that AWS has already built. That frees us to spend our time on the 10 to 20 percent of functions that are unique to Public Good Software.”
Public Good Software considered several closed- and open-source GraphQL providers that could have worked as a layer between its existing microservices and client application. However, each came with additional operational overhead, mostly in the form of application services that the team would need to provision, harden, and scale. Manley sees a significant competitive advantage in providing a GraphQL API but far less in operating and maintaining the infrastructure to support it. “If we can delegate operational responsibility for that API’s infrastructure and instead focus our resources on tailoring the API’s behavior, that’s a big win. This is why we use AWS services. AWS AppSync provides scalable commodity functionality at a higher level in the application stack.”
Refining Machine-Learning Models
Not a company to rest on its laurels, Public Good Software continues to find ways to deliver improved, differentiated services to its customers. Greater use of machine learning is on the horizon for the company, as it explores ways to use Amazon SageMaker, a service that helps developers and data scientists quickly build, train, and deploy machine-learning models. The goal is to discover how machine learning and automated text analysis can dramatically scale the matching process between journalistic content and relevant causes. “A huge part of what we do is discover how to match journalistic content to a social good. How do we know what content is actionable? How do we know what organizations to show and actions to suggest? What social-good campaigns make a match? We’re using Amazon SageMaker to train our machine-learning models to answer those questions,” says Manley.
Learn More
To learn more, visit aws.amazon.com/appsync.