Inspiration

Credit card applications are outdated, frustrating, and often unfair—especially for people without existing credit history. On top of that, rewards are generic and fail to reflect individual spending habits. We wanted to reimagine this process using AI, making it smarter, fairer, and truly personalized for both banks and customers.

This technology can give financial institutions—such as our sponsor, Capital One—a competitive edge by enabling them to design truly compelling credit card offers in today’s overcrowded marketplace.

What it does

Based on a user’s transaction history, the platform first categorizes spending directly from transaction codes. The Risk Agent then evaluates eligibility and decides whether the customer is approved. Next, the Terms Agent and Perks Agent work together to design a personalized card offer with the most favorable terms based on spending habits—for example, if a customer spends heavily on groceries, they’ll get strong cashback in that category.

Behind the scenes, the Challenger Agent ensures that the bank’s return on equity still works. In simpler words: can the bank still make money while offering favorable terms? If not, it proposes adjustments. Then the Arbiter Agent decides on the final terms that balance customer satisfaction with the bank’s unit economics. Finally, the Policy Agent produces a detailed write-up, integrating information from the MCP server about the bank’s general policies.

How we built it

The platform is powered by Google Kubernetes Engine, with multiple agents, MCP Server, Agent2Agent Protocol, and Gemini AI working together to make it possible.

Challenges we ran into

Setting up Google Kubernetes Engine (GKE) turned out to be a huge hurdle. We faced persistent issues with deployment pipelines and reliability, where workloads would fail intermittently between servers. Debugging these failures consumed a lot of time since logs weren’t always transparent about whether the problem was in the configuration, networking, or scaling policies.

Another major challenge was agent orchestration. With six specialized agents that need to communicate in real time, even small synchronization issues created bottlenecks. Designing clear protocols for decision handoffs—so that, for example, the Risk Agent could pass outcomes smoothly to the Terms and Perks Agents—was far more complicated than anticipated and required multiple iteration.

Accomplishments that we're proud of

We successfully built a fully agent-based ecosystem that mirrors the real-world decision flows used by banks. Through this system, we were able to automate credit card approval decisions using explainable AI, ensuring transparency in the process. We also created a framework that personalizes rewards for individual customers, tailoring perks to their actual spending habits. Most importantly, we demonstrated that banks can achieve both profitability and personalization at scale—something traditionally seen as a trade-off.

What we learned

GKE deployment, MCP Server, Agent2Agent Orchestration.

What's next for CardOS

Looking ahead, our next priority is to improve the algorithms powering each agent, making their decisions faster, more accurate, and better aligned with both customer needs and bank objectives.

Built With

Share this project:

Updates