Ledger
Transactions
Date
Merchant
Account
Category
CCY
Amount
Alt
Type
Match → Outcome
Category
Matches
Last fired
¶
Select a rule
Click any row to see its matched transactions and health diagnostics.
Ledger
Imports
—
Drop CSV files here
or click to browse — auto-detects HSBC, Schwab, Chase, Apple Card, Hang Seng, Standard Chartered, and more
Sources
Recent imports
Export & backup
CSV
Export ledger as CSV
Every row in your display currency · re-importable
- Date, source, description, category, amount
- Display currency only — original FX line dropped
- Best for spreadsheets, tax prep, sharing
JSON
Full backup (JSON)
Everything · transactions + rules + settings · round-trips
- Original currency, FX rates, soft-deletes, undo entries
- Restorable into a fresh install — nothing lost
- Best for migration, offline backup, switching devices
Restore from backup
Load a previously-exported JSON file. Merges with current data; you'll be asked to confirm conflicts.
Delete all transactions
Permanently deletes every imported row. Rules, renames, and settings are preserved. Export a JSON backup first.
General
Display preferences that apply everywhere. The display currency lives in the sidebar.
Week starts on
Affects weekly rollups in Overview.
Theme
Paper-warm light, ink dark, or follow the system.
Accounts
Each account maps to its native currency. Click an account to view details, change its currency, or unlink it.
Categories
19 categories covering every transaction. Other catches rule misses — drive it down over time.
Users
Household members sharing this ledger. Everyone sees the same transactions; edits sync in real-time.
Design system
Canonical token palette. Every token has a paired light + dark value. Lower chroma in dark by ~30%. Name semantically.
§02b · Type — three fonts, three roles
In any row, count the fonts. Two is fine. Three needs a reason. Four is a bug.
Three things to know
Save changes · Cancel
starbucks → Starbucks
Live components
never fired
1 conflict
overfit
🍽️ Dining
Rules for adding a new color
- Every new token gets a paired light + dark value at the same time.
- Lower chroma in dark by ~30%.
- Name semantically (e.g.
--warnnot--red). - Soft variants (
--warn-soft) are used for backgrounds; base is used for text/icons.
Data & privacy
Diagnostic + advanced tools. Export, backup, restore, and bulk delete moved to Imports → Export & backup.
Demo mode
Hide your real data behind a synthetic fixture so you can show the app to other people. Refresh the page to exit at any time — demo state is never written to disk.
AI categorization
Powered by Cloudflare Workers + Anthropic.
Debug logging
Log sync activity to the browser console.
Find exact duplicates
Scan a date range for transactions that share date, description, amount, source, and person. Keeps one of each, deletes the rest.