Data stays on the device
No account, no server. SwiftData stores everything locally; backups are encrypted with PBKDF2 + AES-GCM.
iPhone and iPad app for credit cards, loans and pay-later wallets, built for card holders in Vietnam: shared limits counted once, due reminders, on-device import of PDF statements, SMS and screenshots, offer-aware card advice and an AI assistant that only drafts. No account, no server.
Version 0.3.0, internal development build, 0.4.0 in progress


No account, no server. SwiftData stores everything locally; backups are encrypted with PBKDF2 + AES-GCM.
Cards on one credit line are grouped correctly: three cards sharing 100 million are still 100 million, not 300.
Money is Int64 minor units, rates are parts per million. Missing data shows as unknown, never silently as zero.
PDF statements, bank SMS and banking-app screenshots are read on the device into drafts, with idempotency keys.
Full card numbers and CVV live only in an AES-GCM vault in the Keychain, opened with Face ID or a separate CreditMate PIN.














Click an image to enlarge, use the arrow keys to browse.
A cardholder in Vietnam usually holds several credit cards at several banks, plus a few installment plans, a consumer loan and a pay-later wallet. The information is scattered: each bank app sees only its own cards, statement closing dates and due dates differ, and offers change weekly. As a result simple questions are hard to answer: how much is due in total this month, how much of the real limit is left, which card to use for this purchase.
Existing tools all have gaps. Bank apps do not see across banks. Spending trackers lack the notions of statements, shared limits and effective interest. Spreadsheets can do it, but you enter and calculate everything yourself and make mistakes exactly where it matters, such as counting a shared limit several times. And card data is the kind of data nobody wants on a stranger's server.
CreditMate brings every obligation into one place, applies the specific rules of Vietnamese credit cards correctly, and keeps the data on the device.
Money is stored as integers in the smallest unit and ratios in parts per million, so there is no hidden rounding error. A shared limit is stored once: three cards sharing a 150,000,000 VND limit remain 150,000,000 VND, not 450,000,000 VND. A missing figure shows as "Unknown" and is never counted as 0.
PDF statements, balance-change messages, bank app screenshots and CIC reports are all read on the device into drafts. Only when you confirm is the ledger written, and a double-posting guard makes sure re-importing creates no duplicates. OTP messages are only counted, and PDF passwords are used once.
The app tells you which card to use based on offers, cashback caps, MCC and remaining limit, tracks annual-fee waiver targets, and computes the effective annual rate and an early-payoff estimate for loans. The offers library covers 27 banks with date-based validity and is clearly marked unverified.
The assistant answers from the figures in the app, lets you choose an on-device or cloud AI source, has a monthly cost budget, and can only create drafts.
Locking with Face ID or a separate 6-digit PIN, a payment-details vault encrypted with AES-GCM in a device-only Keychain, and encrypted backups. The full card number never reaches the assistant or a backup.
Legend: done well, ~ partial or manual effort, not available.
| Feature | CreditMate | Bank app | Money Lover | Excel spreadsheet |
|---|---|---|---|---|
| Cards from several banks together | ~ | ~ | ||
| Shared limit counted once | ~ | ~ | ||
| Statement closing date vs due date | ~ | |||
| Installments, loans and pay-later in one total | ~ | ~ | ~ | |
| Effective annual rate, early payoff | ~ | |||
| Reads PDF statements on the device | ||||
| Draft-based import with double-post guard | ~ | |||
| Which-card advice from offers | ~ | |||
| AI assistant Q&A | ~ | |||
| Data only on the device | ||||
| Official figures straight from the bank | ||||
| Available on the App Store |
CreditMate's strength is seeing across banks and applying credit card rules correctly while keeping data on the device; its limits are that figures are entered or read from documents rather than pulled from the bank, offer data is unverified, and the app is still an internal development build that has not been released.

















