Case study · Concept product · Fintech

The card that pays you most is not always the one that leaves you the most.

CardRight tells you which card to use for every purchase by counting what your cards cost you, not just what they pay you. It runs on real cards and real store rules, replays your last year, shows where money leaked, and ranks the moves worth making.

RoleProduct manager and designer
ScopeStrategy, engine, interface, brand
Built withJavaScript, no dependencies
CardRight recommending a card at checkout with the full breakdown and a phone notification
The problem

People carry several cards and guess at every checkout.

Each card has its own rules: bonus categories, spending caps, quarterly activations, annual fees, foreign fees, statement credits and protections that nobody remembers. So most people pick a favorite card and use it for everything.

Apps already exist to help. CardPointers, MaxRewards and Kudos tell you which card earns the most points at a store. They are useful, and most are built around one question: which card pays the most?

That is the wrong question for the 47% of cardholders who carry a balance. The regulator has said so:
The insight

Optimize for money kept, not points earned.

CardRight scores every way to pay on one number: what you actually keep.

Money kept = rewards + statement credits + card offers + protections + tax saved minus interest, foreign fees and processing feesEvery term is shown to the person, with its assumption. Estimates such as the value of an extended warranty are labelled as estimates. A sign-up bonus is all or nothing, so it is never spread across purchases: it only counts when the cards CardRight would pick anyway would miss it, and then it shows as its own one-time line.
-$702

What Jordan's "5% card" really earned him last year. He carries a balance on his Discover at 26.49%, so every purchase started paying interest the day he made it. A rewards-first app would keep recommending it.

$327

What the same spending would have kept on the right cards: his no-fee 2% Active Cash for new spending, paid in full, while the balance gets paid down. That is $1,029 left on the table.

Differentiation

Five things a rewards app does not do.

What it considersPoints-first apps (typical)CardRight
Best rewards card at a storeYesYes
Interest when you carry a balanceRarely centralCore of the math
Caps, activations and sign-up deadlines across the whole walletPartlyPlanned across the month
Tax effects (HSA, business cards, card processing fees)NoYes
Paid card placementsOften part of the modelNone, and it can say "no new card"
Needs card numbers or a bank loginOften for full featuresNever. Only which cards you hold

The comparison describes the category's general focus as I understand it from public reviews, not every feature of every app.

How it works

AI reads the messy parts. Fixed math makes the call.

Real cards make this concrete. Two of the cards in the demo changed their terms in the four months before I built it, and store rules like Costco's Visa-only policy decide which cards even work. The two jobs that need judgment, reading card terms and recognizing merchants, are AI-shaped. The decision itself is plain, tested arithmetic, so the same purchase always gets the same answer and every answer can be checked.

Read terms

Card fine print becomes rates, caps, fees and credits. Anything unclear is flagged for a person.

terms.js
Recognize

Merchant to category. Known stores from a list; unfamiliar ones read by a real model, checked by the name rules. Unsure means it asks.

model.js · merchants.js
Decide

Money kept for every way to pay, with each term shown.

optimize.js
Replay

A year of spending rerun, losses split by cause.

replay.js
Plan

Moves ranked by dollars, each with its math.

plan.js

Recognizing merchants now runs on a real model (gpt-oss-120b on Groq), through the same small server and key as my Umbra product. The model only names a category from CardRight's fixed list; it never sees a card or a balance and never picks a card. If it is down, CardRight uses its own name rules and says so. Reading card terms is still a transparent rule-based stand-in, and a person would approve every new card's rules before they go live.

Real scenarios

Real cards at real stores, with the rules that trip people up.

Maya · Costco run

Three of her four cards are refused

Costco warehouses take only Visa credit cards. Her American Express Gold, Freedom Flex and Double Cash are all out, and the app says why before she reaches the register. Her Sapphire Preferred is a Visa, so it wins. It is also $380 from a 75,000 point sign-up bonus, but she is on track to reach that with her usual spending, so CardRight does not pretend this one purchase is worth more than its rewards.

CardRight at Costco: three cards refused because Costco only takes Visa
Jordan · Groceries

It steers him away from his favorite card

He carries $3,400 on his Discover at 26.49%, so a $55 grocery run on it costs more in interest than any reward pays. CardRight says use the 2% Active Cash and pay it in full, in one sentence.

CardRight showing the balance-carrying card losing money on groceries
Jordan · Replay

A year of spending, rerun

398 purchases replayed. Most of what he lost was interest, not rewards. The line shows his "kept" going below zero while the right cards stay positive.

Replay showing money left on the table, mostly interest
Theo · Dentist bill

The tax saving comes from the HSA, not the card

HSA money goes in before tax, so covering a crown from it saves about 24% at his tax rate. That saving is the same whichever card he swipes, so CardRight tells him to pay with his best rewards card and reimburse himself from the HSA, and counts both in the same currency: dollars kept.

CardRight recommending the HSA card for a dental bill
Theo · Quarterly taxes

Paying the IRS by card for the points loses money

The IRS-approved processor charges 1.75% for credit cards. His everyday card earns 1.5%. On a $3,000 estimated payment that is a loss, so the answer is a free bank transfer.

CardRight showing a bank transfer beating every card for a tax payment
Maya · Plan

A short list, ranked by dollars

Route spending by category, turn on the quarterly 5%, and fee checks that are honest both ways: her $325 Gold card only just earns its fee, while Sapphire Preferred gets a prompt to downgrade before its fee renews. Her sign-up bonus is checked too: she is on track without changing anything, so it is not counted in the yearly total.

Maya's plan with ranked moves
Wallet

No card numbers. Just the cards.

Rates, caps, credits and bonus progress for each real card. Choose whether you use points for cash or travel, or flip "I carry a balance on this card", and every recommendation updates.

Wallet view with real cards and progress meters
Sources

Every figure can be checked

Published statistics, the checkout rules, each card's terms and the pages they came from, plus a plain list of what is assumed.

Sources view listing statistics, rules and card terms with links
Results

Computed live from the engine, including the unflattering parts.

Wallet replay: real cards, one year of synthetic spending

PersonSpentActually keptCould keepLeft on the tableBiggest cause

The AI steps, on data they were never tuned on

StepTuned setHeld-out setHeld-out misses flaggedMisses not flagged

The rules alone were the weak link: only about half of unfamiliar names landed in the right category, though every miss came back marked "not sure", so the app asked instead of guessing. The model, run on the same 18 held-out names, got 17 right. Its one miss, Midstate Gas Company, it called a gas station and marked sure; it is a utility bill. That is the dangerous kind of mistake in money, so the app keeps the name rules as a second opinion: when they are confident and disagree with the model, it asks the person. With both together: 17 of 18 right, and no silent mistakes. Answers came back in about a third of a second.

Guardrails

Built to be trusted with money decisions.

01

No card numbers, no bank login

The engine needs which cards you hold and a few facts about them. Linking accounts would sharpen it, but it is optional.

02

No paid placement

The "next card" check runs market cards against your real spending and can, and usually does, say no new card is worth it.

03

Every number shows its math and its source

Rewards, interest, fees, tax and estimates are separate lines. Every card carries the date it was checked and the pages it was checked against. What is assumed is listed as assumed.

04

AI assists, rules decide

Reading terms and recognizing merchants can be wrong, so both report confidence and flag doubt. The recommendation is deterministic.

05

Guidance, not advice

It explains trade-offs with the math shown, like which balance costs most. It does not tell anyone how to invest or which loan to take.

If this were a real product

How it makes money without selling cards.

Options I would test

A small subscription, priced against what the replay shows a person leaves on the table. Or licensed to banks and credit unions as a feature inside their own app, where helping customers use the bank's cards well improves retention.

What I would measure

Dollars kept per user against their own replay baseline. Share of checkouts where the recommended card was used. Interest avoided for people who carry balances. How often the plan's top move gets done within 30 days.

Who it is for first

People with three or more cards, and especially people who carry a balance. They have the most to gain and are the least served by points-first tools.

What would stop a launch

Any recommendation that sends new spending to a card with a carried balance. Any stale card term older than its review window. Any sign that a paid relationship influenced a result.

Identity

A card, and a check. That is the whole promise.

The mark is a payment card whose stripe turns into a check mark: the right card, confirmed. In the wordmark, a small gold card dots the i in Right. Forest and cream feel like money handled calmly, and gold is reserved for the money you keep.

CardRight logo on cream
CardRight logo on forest
Forest
#123A2C
Cream
#F3EEE2
Gold
#E8B04B
Kept
#2E8B62
Cost
#D4553A
Next

What I would build next.