About

Built because the spreadsheet stopped working

Credit Upside started as a personal problem. Six cards, each with its own bonus categories, caps and credits — and a growing suspicion that the whole arrangement was earning less than it looked like on paper.

The spreadsheet that was supposed to answer it kept being wrong, always in the same direction. It ignored caps. It assumed rotating categories were always active. It counted an Amex credit as used because the year's spending exceeded it, when really eight of the twelve monthly allotments had quietly expired.

Every version of the calculation was too generous. That's what this is: the same question, answered properly.

The principle

Rewards content has an incentive problem. Sites that recommend cards are usually paid when you open one, and the numbers drift upward accordingly — best-case point valuations, credits that require spending you'll never do, bonuses treated as guaranteed.

So the rule here is simple: when the data is ambiguous, assume less. Lower of two published rates. Base rate for unannounced categories. Zero for cards that don't publish one. Spend-gated credits shown but never counted.

A number you can trust is worth more than a big one.

On the commission

This site may earn money when someone opens a card through it. That's a real conflict, and saying "but we're honest" isn't good enough. So the conflict is handled in the architecture: the code that ranks cards has no access to the data about which cards pay. It's a separate file the ranking function never reads. The details are here, including how to check.

Where it's going

  • Approval odds — the Next Card feature currently ranks on value alone and ignores 5/24, income and issuer rules.
  • Card-linked offers — no issuer publishes an API for Amex or Chase Offers, which is exactly why they go unclaimed. Worth solving.
  • Mobile — the version that tells you which card to pull out while you're standing at the register.