Building Intelligent, Elastic Architectures in the Cloud

The Capital One Shopping browser extension was architected with high-volume traffic in mind


By Jason Valentino, Senior Director / Head of Engineering - Capital One Shopping and George Henderson, Director / Head of Experience Engineering - Capital One Shopping

 

Digital tools and spaces have driven an ongoing revolution in how we shop online. Recent events with Covid-19 have brought us even further online, increasing our appetite for online shopping, contactless delivery, and BOPIS (buy online, pickup in-store). Data backs up the shopping behavior we see in ourselves and our friends — a multinational study performed by the UN concludes eCommerce growth is likely to continue its rapid growth. Research from Salesforce also finds 63 percent of respondents assert the global pandemic has “transformed” their shopping behaviors, possibly forever.

How retail will evolve once this crisis has passed is still to be seen, but the spiking eCommerce sales we saw earlier this year will likely continue with this year’s online holiday buying season set to shatter all previous eCommerce records. But here’s the thing: Many shoppers will pay too much online by leaving savings opportunities on the table. Discovering the best price online isn’t easy — discount codes are hard to find and there can be hidden shipping costs. That’s why a billion-dollar industry that finds the best deals and coupons is now booming; an industry powered by advances in technology that have made these kinds of personalized, real-time experiences possible.

And we should know, since we’re part of the team that built Capital One Shopping - an online shopping tool that helps customers find savings by searching for lower prices and coupons and earn rewards for shopping online.

Capital One Shopping - A Commitment to Savings

Founded as Wikibuy in 2014 and acquired by Capital One in 2018, Capital One Shopping is a free tool that helps shoppers save money using native cloud-based real-time savings analysis. Consumers shouldn’t have to spend hours searching the internet to save money, and Capital One Shopping automates the work shoppers are already doing to find lower prices - via price comparison, coupons, and redeemable rewards - all in one tool.

In 2020, more than half (54%) of consumers plan to do all or most of their holiday shopping online this year, more than double last year's 22%.  The amount of corresponding traffic our systems will see this year will be one for the record books, but we’ve designed Capital One Shopping elastically in the cloud and can easily weather the spikes this season will cause.

Capital One Shopping User Flow

First and foremost, users don’t have to have a Capital One account to use Capital One Shopping. Anyone in the US can install the browser extension and begin to access savings right away.

When a customer visits one of 30,000 partner retail sites, the browser extension wakes up and automatically searches for, tests, and applies the best available coupon codes at checkout.

Capital One Shopping uses best-in-class intelligent, real-time technology to remove friction from the online shopping process by automating cross-site price comparisons while consumers shop, proactively locating and applying valuable active coupon codes at checkout and providing product price tracking and alerts.

The tool takes the headache out of finding a better deal or coupon code. Through technology and the power of community, shopping tasks that could take 10–15 minutes now happen automatically.

The Power of an Building Intelligent Architecture in the Cloud

Perhaps this seamless experience seems miraculous from the customer’s point of view - in fact, that’s our goal - but it’s actually the result of a modern service-architecture and data streaming platform, intelligent architecture enabled by cloud technology. Because our platform was designed for the cloud, we have the elasticity at scale to confidently serve customers during what is expected to be the most significant online holiday shopping cycle in history.

Full Stack JavaScript

Capital One Shopping uses JavaScript across our full stack. Using Node.js on the backend allows us to leverage React to server-side render our web application. The dynamic of being fullstack JS allows for synergies around mitigating language context switching, providing a common language to standardize tooling and the developer experience. This is important, because as priorities change and new features are developed, we have a codebase that almost every developer on our team can read, understand, and contribute to.

Amazon Web Services

Capital One Shopping is 100% cloud based, leveraging secure, resizable compute capacity in EC2 to host close to 100 microservices spread across over a thousand Docker containers. Our messaging platform relies heavily on Amazon SES to facilitate the delivery of email, SMS, and push notifications. We also leverage Amazon RDS, whenever possible, to help alleviate the burden of database management, and Amazon S3 for secure file storage.

Data

Data is foundational to what we do, and we use a streaming data platform that we designed ourselves to power Capital One Shopping. While Capital One Shopping may be much smaller than the greater Capital One, the average online shopper is quite a bit more active than the average online banker.  As a result, Capital One Shopping has to ingest a significant amount of data.

We use a HDFS based data warehouse for time-partitioned data. PostgreSQL handles bounded transational, or relational data (orders, product page data, complex queries) with projects often migrating to Cassandra (unbounded data) or Elasticsearch (schemaless data) for performance. Our inhouse streaming data platform handles real-time data used for analytics and application notification.

Time to Market

Last but not least, behind the scenes, the cloud allows the Capital One Shopping team to shorten the time to market. As a technology company focused on the financial sector, Capital One has a 100% percent agile model for delivering software, helping us to push innovation and new features with ease. Our cloud tech allows us to improve continuously, including A/B testing all our product experiences and personalizing savings. We can do more with a lean team than ever before, quickly putting campaigns in the market to increase the speed at which we save customers money.

Automatic Discounts via the Browser

When you run the browser extension - available on Google Chrome, Mozilla Firefox, Microsoft Edge, & Safari - available discounts are automatically applied, rather than you having to endure yet another pop-up asking you if you’d like to apply a discount. Much of the work is done behind the scenes in a separate JavaScript context that shares a DOM with the current page. Our tech automatically sources, ranks, and applies the coupons with the highest probability of savings for your cart. By the time the user is ready to make a purchase, we already know which one of those coupons will get the most value for them.

The most complex part of our technology is within our price comparison feature. When the extension detects you’re on a product page, the software identifies the exact product you’re viewing including selected option variants. If the software determines that the item is cheaper elsewhere the user gets notified and has the ability to visit a product comparison page that we develop and serve instantly. We quickly log the item price, including tax and shipping for your zip code. Other factors are considered, too, such as if the user is an Amazon Prime member who won’t pay for shipping.

Conclusion

Our tool is crammed with much more tech — and while our team is lean, we are paving the way in a new industry that helps customers save money seamlessly. Capital One has been at the forefront of technology innovation in the financial services space since it was founded in 1994. By building and investing in digital tools such as Capital One Shopping and Eno, Capital One is creating a digital banking experience that provides customers with the tools and resources they need to control their finances.


Capital One Tech
Capital One Tech,

Stories and ideas on development from the people who build it at Capital One.


DISCLOSURE STATEMENT: © 2020 Capital One. Opinions are those of the individual author. Unless noted otherwise in this post, Capital One is not affiliated with, nor endorsed by, any of the companies mentioned. All trademarks and other intellectual property used or displayed are property of their respective owners.

Open Source First Since 2014

We're using the power of community to build the bank of the future.

Learn More

Related Content