Under the hood
Every rupee CheQpick shows comes from a deterministic reward engine — plain code you can read and test. AI only reads your sentence. It never touches the math.
Independent concept demo. Not affiliated with, endorsed by, or sponsored by any bank, card network or fintech company. Bank names are used only to describe the issuer type. All reward data is illustrative and may differ from real products. Always check your card issuer's terms.
A rules parser reads your sentence first: ₹ / Rs / k / lakh amounts, Hinglish numbers, UPI hints and a dictionary of 229 Indian merchants. Only if the amount or category is still missing does an AI model fill the gaps — and you confirm the chips before anything is calculated.
Each card in your wallet runs through the same seven steps below, using the month-to-date usage you set in the wallet. Same input, same output — every time.
Cards are ranked by net value in rupees. Ties go to the lower annual fee, then to the simpler card. Flip “Include milestone value” to rank by value including any bonus this purchase unlocks.
The lines you see under “Why this card” are the engine’s actual calculation log, printed as it ran — not text generated afterwards.
Inside one card evaluation
Excluded categories or transaction types (rent, wallet loads, fuel on some cards…) earn nothing. UPI payments need a RuPay card. Purchases under a card’s minimum transaction don’t earn.
excluded → ₹0The most specific rule wins: a merchant override beats the category rate, which beats the international or UPI rate, which beats the base rate.
merchant › category › international / UPI › baseCashback cards earn rate × amount. Points cards earn points per full ₹100 block — ₹8,050 is 80 blocks, not 80.5.
cashback = rate% × amount · points = ⌊amount ÷ 100⌋ × ptsRemaining headroom = cap − what you’ve already earned this period. Reward beyond the cap drops to the after-cap rate (usually the base rate). A per-transaction maximum applies after that.
reward = min(raw, remaining) + overflow spend × after-cap ratePoints become rupees at each card’s illustrative point value, so a 4-points card and a 2% card can be compared honestly. Effective rate = value ÷ amount.
value = points × ₹ per point · effective = value ÷ amountIf this purchase pushes your monthly, quarterly or yearly spend across a threshold, the bonus is counted — separately, so a one-off bonus can’t disguise a weak everyday rate. We also tell you how far the next milestone is.
bonus unlocked if spend before < threshold ≤ spend afterAbroad, the markup on the amount plus 18% GST on that markup is subtracted. A card can earn points and still lose money on an international swipe.
net = reward − (markup% × amount × 1.18)See it run
This block is rendered by calling the same engine the app uses, with the demo wallet’s month-to-date usage. Change the usage in your wallet and the numbers change with it.
Worked example · demo wallet
₹8,000 at Amazon
Computed live by the engine
HDFC Bank Online Shopping Card
₹200 back (2.5%)
₹200
Axis Bank Super-Premium Travel Card
160 pts ≈ ₹160 (2%)
₹160
−₹40
American Express Travel Card
160 pts ≈ ₹128 (1.6%)
₹128
−₹72
ICICI Bank Everyday Rewards Card
160 pts ≈ ₹40 (0.5%)
₹40
−₹160
SBI Card Fuel Card
80 pts ≈ ₹20 (0.25%)
₹20
−₹180
Why HDFC Bank Online Shopping Card wins · the engine's own log
You'd earn ₹160 more than with your default card (ICICI Bank Everyday Rewards Card).
Where the AI is — and isn’t
A language model is great at reading “5k swiggy kal raat” and hopeless at being audited. So it gets exactly two jobs: fill in a missing amount or category when the rules parser can’t, and chat about results the engine already produced. Every reply in Ask CheQpick is labelled with its source.
Calculated by the engine
“Why did this card win?”, “What if I had a fuel card too?”, “Which card for flights?” and “When will my cap reset?” are answered by the engine itself. No model involved.
Engine numbers · phrased by AI
For Hindi/Hinglish versions of those questions, the engine computes the facts and the model only rewrites them in your language. It is told to quote the numbers verbatim.
AI · from your wallet data
Everything else goes to the model with a compact JSON of your wallet, latest result and plan, plus one hard rule: never invent a number, rate, cap or fee that isn’t in that data.
What we assume
Embed the picker
Add ?embed=1 to the pick page for a compact widget with the input, the reveal and the assistant — no navigation or wallet management. Add &q=5k%20Swiggy to pre-fill a purchase.
<iframe src="/pick?embed=1&q=%E2%82%B98,000%20at%20Amazon" width="420" height="900" style="border:0;border-radius:24px" title="CheQpick"> </iframe>Open the widget