Card-Sense

Credit Cards
Card-Sense

Overview

A chat-based RAG-powered credit card intelligence assistant - because 100 million Indians shouldn't need a law degree to understand their own rewards.


The Problem

India has 100M+ active credit card users. Reward structures are buried in 40-page MITC PDFs written in legal language. Someone with 3 cards from 3 different banks has no single place to ask: "Which card should I use for this purchase?"

Every existing solution - Reddit, bank websites, financial influencers - is either outdated, biased, or leaves interpretation to the user.

Complexity overload

3 cards × 6 categories = 18 reward rules. Impossible to memorize at the point of purchase.

Generic, ungrounded results

Searches return advice not grounded in the user's specific card portfolio or current T&C.

No natural language interface

MITC PDFs are 40+ pages of legal language with no way to ask a plain question.

Asterisks misread

"Up to 5X points", on what exactly? Conditional clauses routinely get lost.

Decision fatigue

When clarity fails, users default-swipe. Value is lost, not recovered.


Current Workflow

The primary persona is Arjun - a salaried professional in his mid-20s with 3 credit cards across 3 banks. He uses them interchangeably without a clear strategy, and suspects he's leaving reward value on the table every month.

  1. A purchase moment arises - booking flights, ordering food
  2. Fails to recall which card is best for this category
  3. Searches Google, Reddit, bank websites - gets generic, outdated, or biased results
  4. Attempts to find the actual MITC PDF
  5. Gets a partial answer buried in legal language, misinterprets an asterisk
  6. Gives up and swipes the default card - unresolved, value lost not recovered
The core problem

Reward structures are too complex to memorize, results are generic rather than grounded in the user's portfolio, and decision fatigue ends in a default swipe every time.


Why RAG Fits

Each product requirement maps directly to a RAG capability.

RequirementWhy RAG fits
Answers must cite official sourceRAG retrieves from actual MITC documents, not model memory
Multi-card comparisonCross-document retrieval across banks within a single query
T&C language is complexLLM interprets dense legal text; retrieval grounds it in the source
Documents update periodicallyCorpus can be re-indexed without retraining the model
Can't hallucinate reward ratesRetrieval-first architecture prevents ungrounded claims

Use Cases

Use cases are sequenced by frequency of need and risk of getting wrong. Negative cases are zero-tolerance from day one and not a later phase.

P0 - Category Optimization

As a salaried employee with multiple cards across different banks, I want to know which card gives the best return on a specific spend category, so that I stop using cards interchangeably and actually maximize rewards.

Happy path: "Which of my cards is best for dining?" → Retrieves reward chunks for dining from each MITC, normalizes to effective cashback %, returns a ranked answer with inline citations.

Edge case: Cards use different reward units - "5X reward points" vs "2% cashback." System normalizes to a common unit before ranking. Incompatible figures are never presented side by side.

P0 - Benefit Discovery

As a salaried employee unsure of what my cards actually offer, I want to ask plain-language questions about my existing card benefits, so that I stop missing entitlements I am already paying an annual fee for.

Happy path: "Do I get lounge access with my HDFC Millennia?" → Retrieves the lounge access section, returns a direct yes/no with entitlement details and conditions cited.

Edge case: Benefit is conditional - "yes, but only if you spend ₹1L in the previous quarter." The system surfaces the condition alongside the benefit. It never returns just the headline.

P1 - Cross-Card Comparison

As a salaried employee with cards across 3 banks, I want a side-by-side comparison of my cards for a specific use case, so that I make an informed decision instead of guessing at the point of purchase.

Happy path: "Compare Regalia vs Axis Atlas for international travel." → Parallel retrieval for both cards surfaces forex markup, lounge access, and travel rewards from each MITC in a structured comparison.

Edge case: One card is not in the corpus. System presents what it has, explicitly flags the missing card. Incomplete data is never compared silently.

Zero Tolerance - Account Data Queries

As a user, I should NOT get answers about my credit limit, balance, credit score, or transaction history, so that the product never creates the impression it has access to my bank account.

Response: "CardSense only answers questions based on official card documents and does not have access to your account. Please contact your bank directly."

Zero Tolerance - Financial Advice & Eligibility Queries

As a user, I should NOT receive personalized financial advice ("should I close this card," "will I get approved for Diners Black"), so that the product never enters regulated advisory territory.

Response: The system presents what the MITC says about eligibility, then frames the decision back: "Here is what the official document says. The decision of whether to apply is yours to make."


Technical Architecture

Every component is chosen for the specific constraints of MITC documents - dense tables, image-rendered fee grids, conditional clauses that span multiple chunks.

Data sources & ingestion. MITC PDFs from multiple banks (HDFC, Axis, SBI, ICICI), 30–50 pages each, covering fee schedules, reward structures, eligibility clauses, and benefit tables. Manually downloaded from official bank websites, versioned and date-stamped at ingestion. Reward rate tables and fee grids are frequently image-rendered in Indian bank PDFs, so AWS Textract's table extraction API preserves row-column structure.

Chunking Strategy

Content typeStrategyChunk size
Prose clauses (T&C, definitions)Fixed-size512 tokens, 50 overlap
Short definitions & FAQsSentence-level1–3 sentences
Tables (fee & reward)Table-awareWhole table as one chunk

Splitting a table mid-row destroys meaning, so fee and reward tables are always treated as atomic units (Textract's table API runs at roughly ₹0.60/document extra).

Embedding & LLM Choice

ComponentChoice
Embeddingtext-embedding-3-small
RetrievalHybrid semantic + BM25
RerankerCohere Rerank
LLM (simple)GPT-4.1 Nano
LLM (complex)GPT-5.4

Context Window Budget

~500System prompt tokens
~2,560Retrieved chunks
(5 × 512)
~400Conversation history
(2 turns)
~4,510Total budget per query

Observability Plan

LayerWhat is logged
QueryRaw query, timestamp, session ID
RetrievalTop-K chunk IDs, similarity scores, reranker scores, metadata filters
GenerationFinal prompt, token count, response, latency
ResponseCitation accuracy flag, user feedback
AlertsLow retrieval score, empty chunk returns, LLM timeout

RAG Failure Analysis

Access control is not a failure point for Card Sense. The entire corpus is publicly available in MITC documents published under RBI's mandatory disclosure requirements. Card Sense holds no user-specific financial data, no account access, no transaction history, no personal information beyond what the user self-discloses in chat.

Failure layerMitigation
Data quality / OCRRemove repeated headers before chunking
Chunking strategySemantic chunking with clause-boundary preservation
Embedding qualityQuery expansion using domain synonyms
Search / retrievalDynamic top-K (higher for comparisons)
Re-rankingEnforce per-card result quota
Prompt / augmentationPrioritize most relevant chunk in prompt
Model usageTwo-tier model routing
Data driftMonthly refresh with change detection
User behaviorClarification prompts for short queries

Guardrails & Escalation

Low retrieval confidence doesn't produce a hedged answer. It produces a hard stop and a direct link to the source. CardSense never compares incomplete data silently or serves stale documents without warning.

TriggerResponse
Retrieval confidence < 0.55No answer attempted. Direct link to the relevant bank's MITC page.
Out-of-scope queryMatter-of-fact rejection. Bank customer care link appended.
Conflicting document versionsBoth versions surfaced with dates. Conflict flagged explicitly.
Citation older than 180 daysStaleness warning renders in amber on every citation tag.

CardSense answers are based on official MITC documents. Benefits may have changed. Always verify with your bank before making a financial decision.

Persistent footerShown on every response

Source Citation Format

Every factual claim is cited inline: card name, document section, and document date are always shown. Citations are expandable to reveal the exact retrieved chunk. Example: "HDFC Regalia charges a 2% forex markup [HDFC Regalia MITC · Fees & Charges · Jan 2025], while Axis Atlas charges 2% as well [Axis Atlas MITC · Foreign Currency Transactions · Nov 2024]."


Success Metrics

Retrieval QualityTarget
Precision@5≥80%
Recall@5≥70%
Mean Reciprocal Rank≥0.75
Card coverage rate100%
Generation QualityTarget
Faithfulness≥95%
Answer relevance (1–5)≥4.0
Citation accuracy≥90%
Hallucination rate≤5%
Business MetricsTarget
Session completion rate≥75%
Query resolution rate≥70%
Time-to-answer (p50)≤4s
User satisfaction (thumbs up)≥80%
D7 retention≥30%
Escalation rate≤15%
Zero-tolerance policy violations

Out-of-scope responses (credit score, loans, eligibility) 0%, fabricated card information 0%, hallucinated reward rate 0%, stale data served without warning ≤1%.

Evaluation Method

LLM-as-a-Judge runs on 100% of responses in staging and 10% in production, scoring faithfulness, relevance, and citation accuracy with structured JSON output. A weekly human audit covers the 20 lowest-rated responses and a random 20 high-confidence retrievals, involving credit card experts and Card Sense users. The combination provides scale from automation and ground-truth from human review.


Token Economics & Cost

Two-tier model routing is a deliberate cost architecture. Simple lookups - 60% of all queries - go to GPT-4.1 Nano at ₹0.13 per query. Only complex synthesis goes to GPT-5.4.

PathCost per queryUse case
Simple (60%) - GPT-4.1 Nano~$0.0016 (₹0.13)Fee lookups, yes/no benefits, exact-match rates
Complex (40%) - GPT-5.4~$0.027 (₹2.29)Multi-card comparison, milestone synthesis, reward normalization

Cost Per User Per Month (Blended)

User typeQueries/moBlended cost
Casual6₹5.96
Regular25₹24.85
Power80₹79.52

Pricing Model

The free tier is an acquisition cost, sized to demonstrate value without covering infrastructure. Standard margin of ~₹74/month leaves room for customer support and iteration.

TierPrice/monthQuery limit
Free₹015 queries - acquisition cost
Standard₹99100 queries - ~₹74 margin
Pro₹249Unlimited - ~₹170 margin at avg usage

UX & Feedback Loop

Chat interface was chosen because queries are conversational and multi-part, follow-up questions flow naturally without re-entering context, and inline citation design works natively in chat.

Feedback Mechanism

Thumbs up signals high retrieval accuracy and correct synthesis. Thumbs down opens a mandatory 3-option reason picker: Wrong Information (factually incorrect), Incomplete (missing key details, e.g. forgot to mention the cap), or Misunderstood (failed to interpret intent).

When thumbs-down feedback clusters, the system triggers specific reviews:

By specific card

Negative feedback spike on one card flags that MITC PDF for re-ingestion review - checks for outdated data or parsing errors.

By simple queries

Short questions failing triggers a clarification threshold adjustment to improve the retriever's confidence scores.

By comparisons

Complex queries failing initiates a card coverage metric review to check for missing cross-bank context.


Launch Phases

PhaseScopeExit criteria
Alpha (Weeks 1–4)4 banks, 20–30 invited users, all responses manually reviewedHallucination < 5%, Precision@5 ≥ 75%, zero policy violations
Beta (Weeks 5–10)6 banks, 200–500 waitlist users, LLM-as-a-Judge on 100% of responsesSession completion ≥ 70%, satisfaction ≥ 75%, escalation ≤ 20%, two-tier routing live
GA (Week 11+)Full corpus, freemium pricing active, full observability stack, monthly freshness pipelineD7 retention ≥ 30%, Standard conversion ≥ 10%, hallucination < 5%, query resolution ≥ 70%

Launch Risks

Hallucinated reward rate goes viral

Zero-tolerance guardrail + LLM-as-a-Judge on all Alpha/Beta responses + inline citations make ungrounded claims immediately visible. Response protocol: public correction post with specific query, failure reason, and fix applied.

Stale document serves wrong fee

Document date shown on every citation. Staleness warning at 180 days. Weekly re-ingestion in Beta catches this early.

Scope creeps into financial advice

System prompt instructs the LLM to present information, not make recommendations. Framing hardcoded: "Here's what each card offers - the decision is yours."

Users over-trust citations

Persistent footer on every response reminds users that benefits may have changed and to verify with their bank before making a financial decision.


Future Scope: Fine-Tuning & Agentic RAG

Two signals from production data would trigger a fine-tuning evaluation: persistent retrieval misses on Indian fintech terminology ("milestone benefit," "forex markup waiver") despite query expansion, and consistent reward unit normalization errors across banks. Both are repeatable domain-specific tasks where a fine-tuned model outperforms prompt engineering at scale.

Approach: A hybrid RAG architecture using PEFT/LoRA to fine-tune a Mistral 7B or Llama 3 8B model, trained on a distillation dataset of GPT-5's high-benchmark responses and 500 synthetic Card Sense queries, to handle the high-volume "Simple Query" tier. Hosting the fine-tuned adapter on Together AI achieves sub-second latency and cost reduction, leaving GPT-5.4 to focus exclusively on complex, multi-card synthesis.

Agentic RAG Roadmap

VersionCapability
V2Live document fetching
V3Personal spend context
V4Action layer