Inspiration
Credit card rewards sound simple until you actually try to optimize them. One card might offer better rewards for dining, another for groceries, and another for travel, all while reward caps, promotions, annual fees, and spending limits change what the "best" choice really is.
The average American cardholder has 4 active credit cards, according to Experian. Yet studies have found that up to 40% of rewards cardholders went an entire year without redeeming any rewards. So, even if someone has the right cards in their wallet, getting the most value out of them still requires remembering which card to use for every purchase. That led us to a question:
What if your wallet could make that decision for you?
That answer became OneTouch a masked super card. We wanted to create a payment experience where choosing the right card happens automatically, without requiring users to memorize every reward category, spending cap, or card benefit. For each purchase, OneTouch is a masked super card that uses of modern algorithms and generative Ai routes the transaction to the specific credit card in your wallet to maximize your cash back. Then it looks beyond a single transaction. By analyzing your spending over time, OneTouch can evaluate whether adding a new card would actually benefit you once rewards, limits, and fees are considered. We built both the iPhone app and the gen AI engine behind these decisions. Our financial calculations follow explicit reward rules, keeping card selection precise and verifiable. Here’s where generative AI comes in. In the Insights experience, OneTouch analyzes your spending patterns and identifies opportunities based on how you actually spend. When you explore a card, GenAI turns that analysis into a personalized OneTouch Insight, explaining what cards and why that card could be a good fit for you in clear verbiage.
You shouldn’t have to memorize every card’s rules. OneTouch does the comparison for you.
What it does
OneTouch brings a user's cards together through a SuperCard experience. When a user makes a purchase, OneTouch determines which card in their wallet is the best choice for that specific transaction.
The decision goes beyond simply choosing the card with the highest advertised reward. OneTouch checks that the selected card is valid for the purchase and considers factors such as the purchase category, available rewards and benefits, spending limits, current balance, and other card constraints before making its selection. The goal is to choose a card that is not only rewarding, but actually makes sense for that purchase.
But we wanted OneTouch to go beyond optimizing a single purchase. The system uses transaction history to build a picture of how someone actually spends and uses those patterns to evaluate potential new credit cards.
Instead of simply saying, "This is a popular card," OneTouch asks a more personal question:
Would this card actually have improved your rewards based on the way you spend?
This comes to life in the Insights experience. When a user opens the Insights page, OneTouch begins by analyzing the past 12 months of spending, comparing rewards across the user's wallet, checking fees and reward limits, and identifying the strongest opportunities. The user can then explore cards that fit their spending patterns and see the specific benefits each one could provide.
When the user selects a card, the OneTouch Insight experience uses generative AI to create a personalized explanation based on their spending behavior and the results of our financial analysis. After a short generation step, the user receives an insight explaining why that card may be a strong fit for them.
Rather than using GenAI simply as a chatbot, we integrated it directly into the decision making experience, turning financial analysis into personalized guidance that helps users understand what they can do next.
How we built it
We designed OneTouch as a set of connected components, with clear boundaries between payment logic, financial analytics, generative AI, and the user experience.
Our Python and FastAPI backend powers the payment experience, reward calculations, card optimization, transaction history, and recommendation data. We use SQLite to persist the state needed to understand the user's wallet and spending activity.
At the center of OneTouch is our card selection engine. For each purchase, it evaluates the cards in the user's wallet and checks the factors that determine whether each card is a good choice for that transaction. This includes reward eligibility, category specific benefits, spending caps, current balance, and relevant card constraints. It then compares the eligible options and selects the card that provides the strongest value for the purchase.
We intentionally keep this decision deterministic. The financial logic decides which card should be used and calculates the resulting value, while our AI layer focuses on helping the user understand the decision and their broader spending patterns.
For longer term recommendations, transaction history can be analyzed against candidate cards to estimate how those cards would have performed based on the user's actual spending behavior. This allows OneTouch to make recommendations based on the individual rather than simply ranking cards by their advertised rewards.
For our AI layer, we built a local financial intelligence pipeline that powers the Insights experience. OneTouch first analyzes the user's transaction history and deterministically computes the financial information needed for personalization, including spending patterns, reward opportunities, fees, limits, and how different cards fit the user's behavior.
These structured results become the grounding for our generative AI experience. When a user explores a recommended card, GenAI uses that context to generate the OneTouch Insight, a personalized explanation of why the card could benefit that particular user. This means two users with different spending behavior can receive different insights even when they are considering the same card.
We intentionally separate the financial analysis from the generation itself. Our financial engine handles precise calculations and card evaluation, while GenAI transforms those results into clear and personalized guidance. We also use validation and deterministic fallbacks so the experience remains reliable if generation is unavailable or does not meet our requirements.
Security and privacy influenced several of our design decisions. Because OneTouch works with financial information, we designed the application to minimize the exposure of sensitive data and maintain clear boundaries between financial logic and generative AI. Personalized AI processing is designed around local inference, reducing the need to send raw financial history to a cloud based language model.
By combining deterministic financial analysis with generative AI, OneTouch makes the experience both precise and personal. The system handles the complexity behind the scenes, while GenAI helps each user understand the opportunities that matter most to them.
Finally, our SwiftUI application brings these components together into a mobile experience where users can interact with their SuperCard, make purchases, explore their spending analytics, and receive personalized insights and recommendations.
Challenges we faced
One of our biggest challenges was making independently developed components behave like one cohesive system. Payments, persistence, analytics, recommendations, AI, and the mobile interface all depend on shared data, so we needed clear contracts between each part of the application.
Working with financial information also forced us to think carefully about trust. A recommendation is only useful if the user can understand where it came from, and a polished AI response should never take priority over the underlying financial calculations.
That led us to intentionally separate computation from explanation. Deterministic code calculates financial results, while generative AI communicates those results in natural language. When live generation proved unreliable in some cases, we improved the prompting and generation pipeline, added validation and retry behavior, and preserved a deterministic fallback rather than weakening our correctness checks.
Privacy introduced a similar design challenge. The more a system understands someone's transaction history, the more personalized and useful its recommendations can become. At the same time, financial history is some of the most sensitive information a user can share. We designed OneTouch around local AI processing so that personalization does not have to come at the expense of privacy. This became an important part of how we thought about trust throughout the product.
We also developed across both Windows and macOS while using Apple specific technologies. That pushed us to rely heavily on clear interfaces, shared contracts, Git branches, automated tests, and communication between team members.
What we learned
OneTouch taught us that the hardest part of building an intelligent financial product is not simply adding intelligence. It is deciding where that intelligence can create the most value.
For financial calculations, correctness and predictability mattered most. For helping someone understand their spending behavior and evaluate their options, however, generative AI gave us an opportunity to transform structured financial analysis into personalized guidance. Building the OneTouch Insight experience showed us how GenAI can make a complex financial decision feel much more intuitive without replacing the deterministic logic underneath it.
We also learned that privacy and security cannot simply be features added at the end of a financial application. They influence the architecture itself: what information is collected, where it is processed, what role AI plays, and how the application behaves when generation is unavailable.
Finally, we learned how quickly a simple product idea can become a systems problem. Behind the experience of making one purchase and automatically choosing the right card are reward optimization, spending analytics, personalized recommendations, and local AI working together.
Ultimately, that complexity reinforced the idea that inspired OneTouch in the first place:
The technology can handle the complexity so the user doesn't have to.
Sources https://www.experian.com/blogs/ask-experian/average-number-of-credit-cards-a-person-has/ https://www.cnbc.com/select/people-arent-claiming-credit-card-rewards/
Log in or sign up for Devpost to join the conversation.