Desktop-first cash flow tracking. Import messy bank exports, normalize once, punch through categorization fast, and export clean data. Local-only, open source, no cloud.
Status: v0.5.0 released. Backward compatibility not guaranteed until v1.0.
Screenshot and walkthrough coming soon.
- Import CSV/XLSX exports from banks or apps.
- Map columns once, then punch through categorization in the loop.
- Review analysis, filter/group, and export cleaned data.
- Import Flow: Vertical punch-through mapping for CSV/XLSX with previews.
- Categorization Loop: One transaction at a time, keyboard-first, inbox-zero flow.
- Undo/Redo: Fast recovery while punching through categories.
- Rules: Contains/Starts With/Ends With/Exact matching with amount filters.
- Multi-Currency: Conversion and display support (main currency must be CAD today).
- Analysis + Export: Month selector, grouping by category/owner/account, export CSV/XLSX.
- Backups: Automatic daily backups, pre-migration backups, manual restore.
- Local-Only: SQLite database stored on your machine.
- Go 1.25 + Wails v2
- React 19 + TypeScript + Vite
- SQLite + Tailwind CSS
Download the latest build from https://github.com/default-anton/cashmop/releases.
macOS (Apple Silicon): unzip and drag to Applications. App is not notarized yet, so Gatekeeper will warn. If blocked:
xattr -dr com.apple.quarantine CashMop.appLinux (amd64): use AppImage (recommended; works on Arch) or .deb (Debian/Ubuntu).
- Install Go 1.25+, Node.js, pnpm, and the Wails CLI.
- Install frontend dependencies:
cd frontend pnpm install - Run the dev app:
make dev
- Run validation:
make check
- Build a production bundle:
make build
For UI iteration, keep dev servers running in tmux and inspect screens with Agent Browser.
make ui-loop-start
agent-browser open "$(make -s ui-loop-url)"
agent-browser snapshot -iUseful commands:
make ui-loop-status
make ui-loop-stop
tmux attach -t cashmop-ui- Sole-proprietor tools (receipts, flags, exports).
- Forecasting and cash flow projections.
Licensed under the Apache License 2.0.
