spendwise
v1.0.1
Published
A Simple and easy-to-use envelope-budgeting app
Readme
Spend Wise is envelope budgeting that runs where you want it - as a desktop app, or as a small server you host yourself and reach from any browser. Same app, same single data file.
No account. No cloud. No subscription. No telemetry. Your finances are a JSON file on your own disk, and the app works with the network unplugged.
The one request it ever makes is a public read of this project's latest release tag, so it can tell you an update exists - no identifier, nothing about your money, and one checkbox in Settings turns it off for good.
What it does
Budget in envelopes. Each budget is a little savings account: it gets a monthly allotment, and unspent money stays in it. Groceries left over in May is still there in June - no zeroing out, no starting over.
Spending flows in on its own. Assign an expense to an envelope and it draws from that balance instead of counting against the month twice. Every envelope shows what's left at a glance: a full green line when untouched, amber when it's nearly gone, red when it's overdrawn.
Save up for the big, irregular stuff. Goal budgets fill toward a target - the annual insurance bill, a vacation - and stop contributing once they're full. Give one a due date and it works out the monthly deposit for you. Spend from it and contributions resume automatically.
Fund budgets from a percentage. Point an envelope at other groups and it takes a cut of them, live - freelance tax savings at 33% of self-employment income minus expenses, recalculated as you type and carried forward every month.
Close out the month when you're done: balances roll over, recurring lines copy forward, savings gets a snapshot, and next month is waiting for you.
See where it actually went. Tag anything; the Insights view turns those tags into spending and income trends, per-tag averages, and your savings trajectory over the years.
Budget together. Two people editing the same month merge field by field rather than one clobbering the other - you both keep your edits.
Change your mind later. Past months are view-only until you unlock them. Edit one and every later month's balances and savings history recompute correctly, after taking a backup and showing you exactly what changed.
Install
Desktop Releases
Grab the latest Windows installer or portable .exe from
Releases. That's the whole
setup - it keeps its database in %APPDATA%/Spend Wise/db.json.
On macOS or Linux, run it from source (see docs/development.md) or host the web version below.
Web Version
NPM
If NPM is your thing - Electron is never installed, just one process owns the database, so everyone editing through it merges cleanly.
npm i -g spendwise
spendwise-server --set-password # everyone signs in with this
spendwise-server # → http://localhost:4180Docker
Or with Docker:
docker build -t spendwise .
docker run -d --name spendwise -p 4180:4180 \
-v /srv/spendwise:/data -e FINANCES_PASSWORD=change-me spendwiseThe server speaks plain HTTP and has no TLS of its own. On a LAN that's fine; before putting it on the internet, read docs/hosting.md - reverse proxy configs for Caddy, nginx and Apache, every setting, and an account of the security model.
No server? No problem.
The desktop app can share itself. Set an app password, flip on Web access, and phones and laptops on your network open the printed URL and edit the same live data - until you close the app.
Docs
- Hosting - self-hosting, Docker, reverse proxies, TLS, configuration, security model.
- Development - how the money math works, architecture, scripts, tests.
License
MIT - see LICENSE.
Icons are Font Awesome Free (CC BY 4.0).
