← Technical design

Optima — Product Requirements v1.1

Version: 1.1 · 2 November 2026 · Product owner: Pia

Status: Product baseline documented; not yet Ready for implementation. Consolidates the channel's decisions through approved mockups v0.16. Real-alert tests, exact pilot card rules, missing error-state mockups and CTO effort/cost/risk review remain open. Supersedes PRD v1.0; the earlier version remains available.

Mockup baseline: https://optima-mockup.pages.dev/ · Design system: https://optima-mockup.pages.dev/design-system.html

Changelog

v1.1: Researched Singapore reward mechanics on 2 November 2026. Adds the reward-rule coverage appendix, distinct minimum/cap labels, multiple allowances on Home, transaction blocks and rounding, purchase-count and multi-period conditions, reward units, partial-cap explanations and test cases. Extends F-05–F-10 without adding a new feature ID. Mockups remain v0.16; new rule states are not yet drawn. This is a product requirement update, not a claim of verified support for every card.

v1.0: First consolidated PRD. Includes Optima naming, blue/white design, DM Sans only, Google sign-in, forwarded alerts, exact-product reward rules, remaining allowance, estimated cashback and miles, category tags, MCC labels, monthly/cycle history with eligible percentages, card images, and review pop-ups. Mockup v0.16 is a separate design version, not PRD v0.16.

Problem

A Singapore cardholder managing multiple personal credit cards needs to see which card has remaining bonus capacity before spending. Each card can have different categories, minimum tiers, caps and reward periods. Captured bank alerts bring purchases into one view and make missed bonuses visible.

Fact — product decisions: One person, multiple personal credit cards; both calendar-month and statement-cycle spending. Planned banks: DBS/POSB, UOB, OCBC, Citi, HSBC and Maybank. This is planned coverage, not verified support for every product.

Assumption: Forwarded alerts provide enough useful coverage for a pilot. To validate: what each bank actually sends, including recurring payments, instalments, refunds and foreign-currency purchases. All spending and reward amounts remain estimates from captured alerts, not statement balances or bank-confirmed payouts.

Options

Option Benefit Main drawback Decision
Spending tracker first Simple totals Does not answer which card still has bonus capacity Rejected as the primary experience
Reward progress across owned cards Shows remaining allowance and missed bonuses Needs exact terms and clear uncertainty Chosen for Phase 1
Definitive best-card advice for every purchase Less effort for users Can mislead when codes or rules are missing Only conditional advice supported by evidence; no universal promise

Goals and measures

These are proposed pilot acceptance targets, not measured results. No reward-uplift claim is established.

ID Goal Proposed check
G1 Choose using remaining allowance At least 4 of 5 pilot participants identify a card with capacity for a stated bonus purchase within 10 seconds, including cap-reached examples
G2 Trust captured totals Agreed alert cases correctly handle duplicates, credits and unresolved items; access tests reveal no other account's data
G3 Understand eligibility At least 4 of 5 distinguish eligible, not eligible and unclear spending and find an explanation unaided
G4 Revisit history At least 4 of 5 open the requested month and specific card cycle and correctly interpret eligible percentage
G5 Complete setup At least 4 of 5 connect an agreed pilot card and capture a test alert without facilitator help; record time and failure reasons before setting a time target

Cashback and miles stay separate. Do not sum them into one reward total without an explicit valuation choice.

Users

Primary persona (assumption): A Singapore resident with two or more personal credit cards who knows rewards exist but cannot remember every category and limit. They check their phone before spending and revisit previous months.

Secondary situation: The same person resolving a missing alert, wrong card assignment or missed bonus. Household sharing and business accounting are not Phase 1.

Journeys

Phase 1 requirements

P0 means required for the fixed Phase 1 scope. The criteria below describe the working product; static mockups do not prove implementation.

F-01 · P0 · Sign-in and private access

Story: As a cardholder, I can sign in before seeing spending or my forwarding setup.

Mockup: Sign-in.

F-02 · P0 · Card identity

Story: As a cardholder, I recognise each exact card by image, product and last four digits.

Mockups: Connect, Cashback card, Miles card.

F-03 · P0 · Forwarded alerts

Story: As a cardholder, I can forward transaction alerts and check that setup works.

Mockups: Forwarding, Test.

F-04 · P0 · Period totals and credits

Story: As a cardholder, I can see calendar-month and per-card statement-cycle spending and correct missing refunds.

Mockups: Home, Card, Cycles. Additional refund/conversion states required before Ready.

F-05 · P0 · Exact reward rules

Story: As a cardholder, I track the relevant spending threshold and cap for my actual card product.

Mockups: Rewards, Cashback, Miles.

F-06 · P0 · Compact Home and allowance left

Story: As a cardholder about to spend, I can compare remaining allowance quickly.

Mockups: Home, Zero/negative examples.

F-07 · P0 · Transactions and merchant category codes

Story: As a cardholder, I can trace totals to transactions and understand bonus eligibility.

Mockups: Card transactions, Miles transactions, Past month.

F-08 · P0 · Review in pop-ups

Story: As a cardholder, I can review and correct a purchase without leaving my place.

Mockups: Purchase sheet, Unclear purchase, Home review list.

F-09 · P0 · Monthly and cycle history

Story: As a cardholder, I can inspect past spending and its bonus eligibility.

Mockups: All months, Card months, Cycles, Period.

F-10 · P0 · Eligible percentage

Story: As a cardholder, I can compare eligible share without confusing unknown spending with success.

Mockups: Months, Cycles. Refund/empty/uncertain-history examples still required before Ready.

F-11 · P0 · Priority and reward flags

Story: As a cardholder, I can set a preference and understand when another owned card may be better.

Mockups: Settings, Rewards.

F-12 · P0 · Phone experience and honest estimates

Story: As a cardholder, I can scan Optima on my phone and understand its limitations.

Mockups: Design system, Home.

Additional v1.1 acceptance criteria for existing P0 features

All examples below are invented test fixtures unless explicitly tied to a cited issuer. No new feature IDs are introduced; previous IDs retain their identity.

Later priorities

P1: Expand exact-card coverage after validation; richer comparisons with explicit user valuation for cashback versus miles; additional forwarding-provider guidance after real tests. This extends rather than replaces the P0 conditional flags.

P2: Advanced purchase planning and trend analysis. Proactive warnings remain undecided: the previously proposed 80% warning and 10-per-day notification limit are not accepted requirements.

Phases and readiness

Phase 0 — Validation: Obtain redacted alerts, exact pilot card products and dated terms; test forwarding and MCC availability; resolve reward-period, refund and conversion cases; obtain CTO effort, cost and risk for each P0. No schedule or budget is committed.

Phase 1 — Fixed product scope: F-01–F-12, including history and pop-up reviews. The initial supported product list must be explicit before release; Appendix A defines the standing-rule coverage required for each supported product. The six-bank plan is not permission to claim untested support. Do not silently shrink scope or substitute bank-wide rules.

Phase 2: P1 work after Phase 1 acceptance and a versioned scope decision. P2 is outside this commitment.

Ready gate: Every P0 has testable criteria and approved mockups for normal and material failure states, no blocking open issue, verified supported products and dated rules, and CTO effort/cost/risk review. Current status is not Ready.

Mockup baseline and gaps

Approved baseline: Optima v0.16, original blue design and DM Sans. Every amount, card image, merchant code and rule shown is illustrative. Earlier visual studies are rejected alternatives.

Non-goals

Bank-statement reconciliation; live balances; credit-limit enforcement; payments or money movement; card applications; guaranteed rewards or confirmed payouts; guaranteed complete alert coverage; household sharing; business accounting; debit-card optimisation; native mobile apps; email-link sign-in; personal miles-goal tracking; universal best-card advice.

Constraints and data expectations

Captured alerts may omit recurring payments, instalments, refunds or other purchases. Explain this during setup. Retain category/MCC provenance and confidence. One user's correction must not silently rewrite another user's classification.

History remains accessible while the account is active. Original-email retention, deletion behaviour, data-removal controls and privacy wording must be agreed before a real-user pilot; no retention duration is invented here. Public mockups/specs contain example data only.

Assumptions, risks and open questions

ID Status Question/risk Resolution
Q1 Blocks supported-card release Which exact products do pilot users own? Name products and required settings; verify dated official terms
Q2 Blocks capture acceptance Do real alerts identify card/currency and handle duplicates/refunds reliably? Redacted test cases across planned banks and chosen forwarding providers
Q3 Blocks confident eligibility Is MCC supplied or only inferred? Preserve provenance; unknown remains unclear and suppresses definitive advice
Q4 Blocks final reward calculations How do posting dates, credits, quarterly periods, category caps and foreign currency work per product? Resolve against verified terms; show uncertainty meanwhile
Q5 Blocks Ready What are effort, ongoing cost and risk per P0? CTO review; no estimate/schedule is approved
Q6 Blocks real-user pilot What are retention, deletion and privacy promises? Owner/CTO and suitable privacy review before collecting real data
Q7 To validate Can official card artwork be used? Check usage rights; use plain-card fallback meanwhile
Q8 Later decision Should proactive warnings exist and at what frequency? Separate versioned decision; earlier proposed limits are not requirements
Q9 Assumption Do users distinguish tier completion from cap exhaustion? Test G1/G3 with zero, over-cap, separate category allowances, blocks and minimum-tier examples
Q10 Blocks Ready Are material empty/error/refund/correction states covered? Add missing mockups and map them to relevant AC IDs

Main risks: A plausible merchant category may differ from the bank's MCC; incomplete alerts may imply spare capacity that does not really exist. Separate category from MCC, disclose uncertainty, suppress unsupported advice and label allowance as estimated.

Decision log and source trail

Sources are Finance App channel messages, not independent proof of bank terms. All IDs below are stable and must not be reused.

Handoff

This PRD defines user behaviour. Implementation choices stay with the CTO. Existing technical proposals are not evidence of delivered functionality. Next readiness work is Q1–Q6 and Q10–Q12. Changes to these requirements must receive a version and decision-log entry.

Appendix A · Singapore reward mechanics research

Research date: 2 November 2026. Fact means supported by the linked issuer material; Decision means Optima behaviour; To validate means insufficient evidence for a production estimate. This is a coverage framework for the planned six banks, not an exhaustive catalogue of every Singapore card, promotion or future rule. Exact supported cards still depend on Q1. General terms, product terms, amendments and campaign terms must be checked together before enabling a product.

A1 · Confirmed issuer examples

Issuer/product Fact from issuer material Consequence for Optima
Maybank Family & Friends Current page lists S$800 and S$1,600 monthly tiers; category cashback limits of S$20/S$30; five selected categories plus MYR/IDR; groceries has a different maximum rate. Official product page Minimum spend and category cashback capacity are different. Record selected categories, currency and tier; do not turn the overall tier into a bonus-spend cap. Confirm effective dates and detailed qualification/reversal rules before pilot support.
UOB Preferred Visa, formerly Preferred Platinum Visa Current page states, from 1 October 2025, separate 1,080 bonus UNI$ limits for selected online and mobile-contactless transactions per calendar month. The terms distinguish mobile-wallet payments from physical-card contactless and aggregate SimplyGo spend monthly. Product page, terms §1–3 Separate allowances by payment channel; native points caps; transaction-type exceptions to aggregation. S$600 per category is an equivalent at nine bonus UNI$ per S$5, subject to the exact calculation. Never transfer spare capacity between categories.
UOB One Issuer page shows revised S$600/S$1,000/S$2,000 tiers and ten purchases per month, with quarterly qualification and transition tied to the next qualifying quarter from September 2025. Additional merchant cashback has its own limit. Official product page Track spend and purchase count for each required statement period, quarterly outcome and separate extra cashback. A large quarterly total alone does not demonstrate qualification. Use current terms for the exact cohort.
OCBC Rewards Standing programme gives 5 base plus 45 bonus OCBC$ per whole S$5 transaction; 10,000 monthly bonus OCBC$ cap shared with supplementary spend. Two S$2.50 transactions cannot combine. Product page also advertises a separately dated 15X campaign. Standing terms §1, product/campaign entry Blocks are per purchase, cap is in bonus points, base can continue after cap. Campaign capacity is distinct unless terms specify sharing. Do not treat the marketed combined 15,000 monthly maximum as the standing 10,000 bonus limit. Campaign stacking still needs its own verification.
Citi Rewards Product page specifies 1 base plus 9 bonus points per S$1, rounded down per transaction; 9,000 bonus-point cap per statement month; base uncapped. Official product page Whole-dollar transaction rounding, statement rather than calendar reset, separate base/bonus components. 10X points is not ten miles per dollar.
HSBC Revolution Terms effective 1 April 2026 specify monthly aggregation of eligible posted spend rounded down to S$1; nine bonus points with a 9,000 cap, or nineteen with a 22,800 cap when the qualifying sole EGA average daily balance is at least S$50,000. Base/bonus credit timings differ. Terms §7–10 Aggregation precedes rounding; account conditions change rate and cap. Unknown balance means conditional bonus, not automatic higher rate. Reward period and credit date are separate. No deposit-account connection is added to Phase 1.
DBS Woman’s World / DBS Rewards Rewards terms updated September 2026 specify per-transaction whole-point rounding; Woman’s World has ten DBS Points per S$5 online spend up to S$1,000 online spend per calendar month. Reversals may lead to reward cancellation. Official rewards terms §2 Do not infer whole-S$5 transaction truncation from the advertised earn-rate denominator alone. Verify product-specific base/bonus rounding order. Preserve dated rules and reversal uncertainty. Ten DBS Points per S$5 is a different unit from ten miles per S$1.

These facts establish that the mechanisms exist. They do not establish every exclusion, conversion, posting allocation or campaign combination for these products. Dates above are issuer dates where stated; access date is not substituted for an effective date. No card-specific estimate becomes supported solely because its product appears in this table.

A2 · Coverage checklist and phase boundary

Decision: For each supported pilot product, Phase 1 must cover every applicable standing condition below or clearly mark its reward estimate unsupported. Do not flatten an unsupported rule into a simple cap. Broader card coverage is P1. The checklist is for verification; it does not add all Singapore cards to Phase 1.

Mechanism What the user must be able to understand Validation needed per supported product
Flat or unlimited rewards No cap where verified; no invented countdown Base rate, exclusions and currency
Minimum spend and tiers To unlock / Minimum met, separate from capacity left Eligible qualifying spend; whether higher rate applies retrospectively to period spend or only marginally
Caps in spend, cashback or points Amount and unit actually limited Whether cap covers base, bonus or total; post-cap rate
Separate, shared and nested limits Remaining per category/channel plus binding overall limit Allocation priority, any transferability, annual and monthly interaction
User-selected categories Current selections and when changes take effect Registration, selection window, default categories and effective periods
Category and merchant rules MCC, named merchant and exclusion reasons Source of MCC; descriptions overriding category; online/payment-channel conditions
Payment method Mobile wallet, physical tap, online or recurring where relevant Whether alerts prove the qualifying method; unknown method stays conditional
Currency and geography Foreign currency is distinct from overseas location Issuer-billed SGD amount; local/overseas definitions; DCC and settlement
Transaction rounding Original spend versus amount/points rewarded S$1/S$5/other block, rounding order, rounding base and bonus separately
Aggregation exceptions Small transactions may combine only when permitted Per purchase, calendar month, category or special transaction type
Spend and purchase-count gates Amount and count both remaining Minimum transaction amount, excluded purchases and count treatment of reversals
Multi-period qualification Every required month/cycle and the final result Calendar, statement, qualifying quarter, anniversary or campaign boundaries
Posting versus purchase dates Why spend month and reward month differ Posting date availability, late posting, cut-off and Singapore time
Base and bonus components Base-only is different from no reward Component rates, rounding, caps and credit schedule
Overlapping benefits No duplicate bonus unless stacking is allowed Component precedence and campaign interaction
Refunds, cancellations and disputes Spend credit and reward clawback may differ Partial refunds, late refunds, negative reward adjustments and whether capacity reopens
Supplementary or linked-card sharing Capacity may already be used outside captured personal-card alerts Exact sharing group, missing usage; mark uncertain rather than claim spare room
Registration / account / customer conditions Which prerequisite remains unconfirmed User-confirmed source and date; no assumption that spending proves it
Promotions and welcome offers Separate from normal recurring rewards Offer dates, enrolment, customer eligibility, quota and separate cap; dedicated tracking is P1
Redemption and expiry Earned points, miles equivalent and credited miles are distinct Programme conversion ratio, fees, transfer blocks and expiry; redemption/expiry management is P1

To validate: quota-limited offers, unfamiliar rule combinations and issuer discretion cannot be exhaustively inferred from alerts. Unsupported mechanisms must retain captured spending but withhold a confident reward/allowance estimate. Retaining the original email does not prove that all required conditions are present in it.

A3 · Display and calculation decisions

  1. Separate three amounts: captured spend; spend that qualifies for a minimum; and spend/points consuming a bonus cap. Reward-bearing amounts after blocks can differ again. None replaces another.
  2. Home stays compact but truthful: a simple card may show one amount; a complex card shows labelled category allowances and any unmet minimum/count condition. No headline sum of independent category capacities. Full conditions remain on the detail page.
  3. Do not imply a guaranteed “safe extra spend” from points capacity: show a spend equivalent only when the verified rule makes it reliable. Near a block or cap boundary, explain the rounding and preserve native remaining points/cashback.
  4. Fix the two-colour meaning: blue is the bonus-covered portion, amber is base-only/excluded/rounding remainder, grey is unresolved or conditional. Use text reasons. A purchase can have more than one portion. Threshold progress is a separate display; a minimum qualifying purchase need not earn a category bonus.
  5. Minimum and cap status coexist: minimum met is positive; cap exhausted is red for that allowance. Avoid a blanket “switch cards” statement where base rewards or another category remain available. No additional spending is recommended solely to chase a tier.
  6. Estimated rewards are not received rewards: show estimated earned and conditional amounts separately. Future bank-confirmed credit evidence, if supported, needs a distinct label and date. Alert-only capture does not establish payout, redemption or the user's airline balance.
  7. Historical changes are explainable: retain captured facts, user corrections, dated rule and reason for revision. Never apply today's rate to last month's purchases silently. Keep spending history and reward-period history distinguishable.

A4 · Options and decision

Option Advantage Critical downside Choice
One pooled “left” figure for every card Shortest rows Can suggest the wrong category/card and hides gates Rejected
Labelled allowances plus conditions, expandable detail Accurate enough to guide a purchase while staying scannable Complex cards use more space and require more terms validation Chosen
Track every card, campaign, deposit condition and redemption in Phase 1 Broad ambition No bounded launch scope; alerts cannot prove all conditions Defer dedicated campaigns/redemption and expand products in P1

A5 · Readiness changes and decisions

The fixed Phase 1 feature set remains F-01–F-12, with the above criteria now part of acceptance for supported pilot products. Status remains not Ready for implementation until the stated gates close.