◆ booting phatdev.net
<PhatLam/>
000%
← All projects
iOS · Fintech · Privacy

CreditMate

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

CreditMateCreditMate
Role
Product owner, built with Claude Code
Stack
Swift 6, SwiftUI, SwiftData
Version
0.3.0 (Oct 8, 2026)
Runs on
iPhone and iPad, iOS/iPadOS 18+
1.864
domain tests for money, ledger, installments and statement parsers
110
UI tests running on iPhone and iPad
27
banks with dated offer data
0
servers: your data stays on your device

Highlights

Data stays on the device

No account, no server. SwiftData stores everything locally; backups are encrypted with PBKDF2 + AES-GCM.

Shared limits counted once

Cards on one credit line are grouped correctly: three cards sharing 100 million are still 100 million, not 300.

Unknown is not zero

Money is Int64 minor units, rates are parts per million. Missing data shows as unknown, never silently as zero.

Fast import, written only on confirm

PDF statements, bank SMS and banking-app screenshots are read on the device into drafts, with idempotency keys.

A separate payment vault

Full card numbers and CVV live only in an AES-GCM vault in the Keychain, opened with Face ID or a separate CreditMate PIN.

Screenshots

Overview on iPad and iPhone: shared credit limits, upcoming due dates, monthly obligations (sample data)Overview on iPad and iPhone: shared credit limits, upcoming due dates, monthly obligations (sample data)
Overview on iPad and iPhone: shared credit limits, upcoming due dates, monthly obligations (sample data)
Card wallet: several cards on one shared limit, due date and amount on every cardCard wallet: several cards on one shared limit, due date and amount on every card
Card wallet: several cards on one shared limit, due date and amount on every card
Installments: due this month and next, the next 12 months, every installment planInstallments: due this month and next, the next 12 months, every installment plan
Installments: due this month and next, the next 12 months, every installment plan
Insights and Transactions: items needing attention, 6-month spending, search and filtersInsights and Transactions: items needing attention, 6-month spending, search and filters
Insights and Transactions: items needing attention, 6-month spending, search and filters
Adding transactions: the dated list and a one-screen form with merchant suggestionsAdding transactions: the dated list and a one-screen form with merchant suggestions
Adding transactions: the dated list and a one-screen form with merchant suggestions
AI assistant: step-by-step setup with Gemini, Claude or ChatGPT, API keys kept in the KeychainAI assistant: step-by-step setup with Gemini, Claude or ChatGPT, API keys kept in the Keychain
AI assistant: step-by-step setup with Gemini, Claude or ChatGPT, API keys kept in the Keychain
Account: app lock, a separate CreditMate PIN, encrypted backup, privacyAccount: app lock, a separate CreditMate PIN, encrypted backup, privacy
Account: app lock, a separate CreditMate PIN, encrypted backup, privacy

Click an image to enlarge, use the arrow keys to browse.

On this page
  1. The problem
  2. The solution
  3. Comparison with common tools

The problem

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.

The solution

CreditMate brings every obligation into one place, applies the specific rules of Vietnamese credit cards correctly, and keeps the data on the device.

Money and limits done correctly

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.

Importing without writing blindly

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.

Advice with reasons

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.

An AI assistant with limits

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.

Security by design

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.

Comparison with common tools

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.

More projects