Work / Chitragupt / Wiki / Concepts
categorise-assist
Conceptcanonicalverified 2026-07-10
CONCEPT.CATEGORISE-ASSISTCategorise-assist
Summary
Categorise-assist is a modal on the Expense transactions surface that lets the user teach the auto-categoriser when the parser is ambiguous. It surfaces AI-suggested categories with confidence percentages, exposes a full tax-aware chip menu, and optionally creates a merchant rule so future descriptors from the same merchant auto-classify. It never executes external action — no cancellation, no move-money, no message-to-merchant.
Why it matters
Ambiguous merchant descriptors are the single biggest source of miscategorised expense rows, which then propagate into wrong donut slices, wrong tax-linked chip attribution (§80C / §80D), and wrong "Largest outflows" flags. The failure mode we're guarding against: a user asks an assistant "why is my Groceries donut so small?" and the assistant confidently answers using data that a mis-parsed ASHIRWAD ENTERPRISES row (actually groceries, classified as Household) polluted. Categorise-assist is the organise affordance under read-only-review — teaching the parser is the only lever we offer.
Implications
- Parser correction, never action. The modal never cancels a subscription, pauses a payment, contacts a merchant, or moves money. It edits how a parsed row is labelled, nothing else.
- Modal context, not a table edit. Rich context per row:
"Last 90d: <N> txns · Avg ₹<X>". This is what makes the pick informed — the same merchant across time. - AI suggestions carry confidence. Ranked list e.g.
Groceries 82% · Household 12% · Health 6%. The number is load-bearing — users skim it to decide whether to trust the top pick or scroll the chip menu. - Chip menu is tax-aware. Beyond the 8 base categories (pillar-expense), tax-linked chips (
§80C invest,§80D health insur,§80DDB,§80C · Edu,Insurance,Loan,Transfer,Gift / loan,One-off · skip,+ Custom) let the user route the row directly into pillar-tax deduction eligibility. - Merchant rules are opt-in on the same modal.
"Apply to all future <MERCHANT> charges"checkbox creates a rule editable inSettings · Merchant rules. Rules match by descriptor pattern; multiple rules per merchant are allowed. One-off · skipremoves a txn from cashflow but keeps it in the transactions ledger for audit. Used forTransferbetween own accounts orGift / loanevents that shouldn't count as either Income or Expense.- Header sets the mental model.
"Pick a category — teach the auto-categoriser"— the verb is teach, not fix. Reframes categorisation as parser-training, not per-row bookkeeping. - Cascades into merchant rules and the identity tree. A merchant rule applies retroactively to all matching rows and to future ones; if the merchant has a linked identity (e.g. Bank ••Rakesh under identity-buckets), rules don't change identity-routing, only category-labeling.
- Aliases into Portfolio via
Transfer/Investchips. A row categorised§80C investorTransfer to brokerbecomes a candidate for the PortfolioInvestedKPI decomposition — a hint for future work, not a V1 wire.
Related
- expense-pillar — where categorise-assist lives
- pillar-expense — entity: chip taxonomy + merchant-rule keys
- read-only-review — parent invariant (organise, never act)
- upload-only · no-manual-entry — no new txns are created here; only labels change
- pillar-tax — tax-linked chips feed Tax review
- expense-transactions — the surface the modal opens from
- copy-strings — modal header + chip labels
- design-color-semantics — confidence-percent color scale
Sources
- .context/designs/web/expense/categorise.html
- .context/designs/web/expense/transactions.html
Every project of mine is written down like this.
Read the résumé