A private, local-first dashboard for exploring transaction, net-worth, and investment-history exports from Credit Karma Extractor.
Try the live demo · Download the desktop app · Report an issue
Financial data stays on your device. No account system, analytics, application server, or database service — imported files are never uploaded.
The screenshot contains invented demo data only.
- Web: open the live demo — nothing to install.
- Desktop: download the latest release for macOS (Apple Silicon) or Windows. Updates install
themselves from Settings. Builds are unsigned for now: on macOS right-click → Open (or allow it
in Privacy & Security); on Windows choose
More info→Run anyway. - From source: requires Node.js 22+ and pnpm.
git clone https://github.com/cbangera2/BudgetLens.git
cd BudgetLens
pnpm install --frozen-lockfile
pnpm devMoving between browser, desktop, or machines? Data lives in a separate local store per origin, so export a JSON backup from Settings first, then restore it where you're going.
- Import transaction CSVs, Credit Karma JSON responses (up to 20 files at once), or one versioned BudgetLens JSON bundle — with previews, duplicate skipping, and per-file failure isolation.
- Import net-worth, investment, breakdown-segment, and account-source histories independently.
- Search, filter, sort, add, edit, and delete transactions; bulk-assign them to named groups with shared-cost splits.
- Set import rules that auto-categorize matching transactions on the way in.
- Spot recurring subscriptions and monthly burn.
- Track monthly or yearly category budgets.
- Rearrange dashboard modules and build custom charts (bar, donut, area) with your own metrics, filters, and styling.
- Ask the built-in assistant about your finances. It defaults to local Ollama
(
ollama serve+ollama pull qwen2.5:7b) so nothing leaves your machine; hosted keys are kept in the OS keychain, and every answer is labeled local or cloud. - Back up everything to JSON (desktop and mobile back up automatically on suspend) or wipe local data from Settings.
Transaction CSVs require Date and Amount, plus optional Description, Category,
Transaction Type, Account Name, Account Type, Provider, Labels, and Notes (legacy
Store/Vendor and Type headers still work). Wealth histories use Date,Net Worth or
Date,Investment Value; dated breakdown snapshots use As Of,Section,Segment,Balance,Descriptor.
Always review the in-app preview before confirming an import.
Storage is local to the current browser profile or app install — clearing site data removes it, so keep a JSON backup somewhere private. Never commit real exports, credentials, backups, or screenshots with personal data.
pnpm format:check
pnpm lint
pnpm typecheck
pnpm test
pnpm build
pnpm test:browserStack: React 19, TypeScript, Vite, TanStack Router, Tailwind, Recharts, Dexie/IndexedDB, Papa Parse, Zod, Oxlint/Oxfmt, Vitest, Playwright, Tauri (desktop). See CONTRIBUTING.md.
- Desktop apps for macOS (Apple Silicon) and Windows with signed in-app auto-update.
- Local-first assistant: Ollama and OpenAI-compatible providers, OS-keychain keys, local/cloud badges, and approval-gated writes.
- Transaction groups with shared-cost splits and settling, import rules, subscription detection with monthly burn, bulk transfer approval with self-transfer exclusion.
- Transaction lists: deep links, clickable facets, search operators, date presets, saved views, compact filter bar with active-filter chips, bulk select/sort/balances, smart form defaults, undo toasts, receipt photos.
- Budgets: templates (50/30/20 + custom), progress links to backing transactions, local reminders, cash-flow forecast with cushion warnings, bill calendar.
- Charts that deep-link to filtered transactions, auto-insights digest, year-in-review share card, stale-data nudge, command palette, home-screen quick actions.
- Data: one-file bundle imports, bank-agnostic CSV mapping, dated breakdown/account imports, removable batches, backup restore v3, automatic backup on suspend, golden demo data and dataset templates, first-run onboarding.
- Mobile: bottom tabs, sheets, safe areas, Face ID lock, hosted consent gate, iOS shell and release workflow groundwork, widget/Siri scaffold.
- Local-first rewrite: static Vite + pnpm + Oxlint/Oxfmt replacing Next.js, PostgreSQL, Prisma, Docker, npm, and ESLint.
- Versioned browser-local IndexedDB storage with backups and destructive-action confirmations.
- Net-worth and investment imports, summaries, charts, ranges, and accessible tables.
- Transaction management, budgets, dashboard customization, themes, responsive navigation.
Earlier development history remains available in Git.
Developed by Chirag Bangera.
