A local-first personal finance app. Mint shut down; Ledgerly replaces it without handing your transactions to another company. All data lives in your browser's IndexedDB. No bank logins, no cloud sync, no telemetry.
You export CSV files from your bank and import them here. Ledgerly detects the columns, categorizes each transaction, and tracks everything against your budgets. The trade-off is deliberate: a manual import once or twice a month buys you complete ownership of your financial data.
npm install
npm run devOpen http://localhost:5173 and click Load demo data to explore with six months of sample activity, or add your own accounts and import a CSV.
- Dashboard. Net worth across accounts, monthly income and spending, savings rate, a 12-month net worth trend, income vs. spending comparison, and spending by category.
- CSV import. Detects columns from common bank exports, including Chase and Amex formats and statements with separate debit/credit columns. A sign-flip option handles credit card CSVs that record charges as positive numbers.
- Auto-categorization. Ships with ~75 merchant keywords. Add your own rules (match text → category) and re-run them against uncategorized transactions.
- Transactions. Search, filter by account or category, edit categories inline, add entries manually.
- Budgets. Monthly budgets per category with progress bars and over-budget flags. One click creates a budget for any category you spend in but don't track.
- Accounts. Checking, savings, credit card, investment, cash, and loan. Balances derive from a starting balance plus imported transactions.
- Backup. Export everything as JSON and restore it on any machine.
- Positive amounts are money in; negative amounts are money out.
- Spending math excludes the
IncomeandTransfercategories, so credit card payments and account-to-account moves never double-count. - Credit card accounts carry a negative balance when you owe money.
Vite, React, TypeScript, Dexie (IndexedDB), Recharts, PapaParse. No backend, no accounts, no network calls.
Your data persists in the browser you used. Clearing site data deletes it, so export a backup (Accounts → Export backup) before clearing storage or switching machines.
MIT