Eno, the intelligent assistant from Capital One, helps provide customers with proactive capabilities that look out for you and your money.
Managing money can often be tedious, complicated, and stressful. At Capital One, we’ve focused on building a proactive assistant to make it less so. Since its launch in 2017, we’ve seen Eno help transform customers’ experience with their money. Eno analyzes transactions in real-time and alerts you proactively when it spots something unusual. Whether it’s a double charge, an abnormally large tip amount, potential fraud, or something else questionable, Eno reaches out if it spots something out of the ordinary to help you take corrective action, fast.
Intelligent assistants can vastly improve the customer experience, but how do we ensure they’re running on the best platform? This service requires an application architecture that can handle high-volume transactions and provide real-time insights. While event-driven architecture can be built in a data center, having built Eno with cloud-native services makes it more resilient to spikes in volume and reduces development and operation costs: a win for customers.
Eno’s insight capabilities: Powered by serverless architecture
Previously, the Spark framework was Capital One’s technology of choice for high-volume real-time streaming and batch needs. However, high operation and maintenance costs became a barrier to using Spark for Eno’s insights. This led us to pursue a serverless streaming solution that better fit our requirements for scaling, throttling, fault tolerance, reusability, resiliency and monitoring. The resulting architecture uses AWS Lambda based microservices connected to one another using Amazon Kinesis. This framework builds insights in a modular fashion so they can be reused across the board, reducing time for developers and attendants.
We also reduced costs from the traditional server-based model because these events have predictable peaks, meaning when traffic is low, we are paying only for the small amount of server space that Amazon Kinesis and AWS Lambda are using at the time. To stay up to date, the stack automatically gets an upgrade every time AWS engineers release new features.
Eno-in-action — Generous Tip
Let’s take a look at Eno in action. At the end of a meal at a restaurant or when you pick up something to go, the server swipes your card and provides a receipt to sign and add a tip. You add an 18% gratuity, sign the bill, and move on. Sounds simple, right? Well, a lot of things can happen after the fact. Since your card gets swiped before you add the tip, the gratuity amount will actually need to be keyed in by the restaurant after you leave, and these are sometimes done in batches after the business closes for the day. What if…
- …the handwriting was not legible? You think that you paid an 18% tip but the merchant thought you wrote 48%.
- …the person keying in the tip percentage made a mistake and entered the wrong numbers, entering in an 81% tip instead of an 18% tip?
- …while rare, maybe someone purposefully entered in a higher tip, or maybe you left no tip or tipped in cash and someone falsely entered an amount on your behalf?

Image Credits: Capital One
User flow for Generous Tip
Let’s look at how our Generous Tip insight handles this user flow. Your tip amount is compared against historical data which tells us the usual tip percentage you might leave based on several factors (type of restaurant, time of meal, city, etc.). If the historical data says that you usually leave around 15-20% tip, then clearly an 81% tip is worth confirming.
Eno will analyze this data and alert you if it spots an anomalous tip amount. If you were feeling extra generous and really did mean to leave a hefty tip, then you’re all set. If there is an error, Eno will provide the restaurant’s contact information so you can get it sorted out.
How our insights architecture drives Eno
Intelligent insights require Capital One to process data accurately and fast. Not only do the framework components Amazon Kinesis and AWS Lambda integrate super efficiently − they’re getting smarter all the time. Each insight goes through a series of filters and transformations via the microservices to get to a point where we can apply very specific business logic to an issue, and what Eno learns from each insight can be applied to the next.
The asynchronous nature of credit card transactions is a perfect use case for event-driven architectures. When a customer swipes their credit card there is no need to wait for an insight. We’re already monitoring via a design pattern called “file and forget.” A customer swipes, they move on, but the event-driven architecture is listening to events as they’re happening, applying a series of transformations and enhancements to get to a specific, intelligent result.
In terms of building serverless capabilities into this architecture, the cloud provider manages the server itself − patching, security, maintenance and scalability − ensuring that it is always available regardless of traffic load. We only pay for what we use. Given that insights like Generous Tip have periods of peak activity punctuated by stretches of low traffic, going serverless is a great move from a cost and utilization standpoint.
In today’s virtual world, it’s important to utilize digital tools that can help you get the most out of your money. Thanks to resources like Eno, Capital One customers can enjoy more control and peace of mind when it comes to their finances. We’ll continue to make this possible by using cutting-edge technology to its maximum benefit. By using cloud-native services such as Amazon Kinesis and AWS Lambda, Capital One are able to make the most of an event-driven, streaming, serverless architecture, providing real-time insights to help our customers.