Family finances on your own server. Keepard gathers the accounts two people hold in different banks and countries, works out what was really spent, and asks in Telegram when it is not sure. Nobody else sees the data.
keepard.com · Live demo
(sign in as guest@keepard.com / keepard-demo-for-everyone; it is an
invented household, rebuilt every night)
The code still says Private Finances in many places; the product is Keepard.
- Households with accounts in several countries: Monobank at home, Wise and Revolut abroad, a local bank where you live now.
- Couples who budget together and want to see the family's spending, not just their own.
- Anyone who wants the whole picture in one currency: accounts, deposits, broker, crypto and cash.
- People who would rather not hand their bank data to someone else's SaaS.
- Collects transactions by itself. Monobank through its personal API token; Wise, Revolut and other European banks through Enable Banking, which is free for your own accounts. Daily import, no duplicates on a repeat run.
- Counts personal spending honestly. Transfers between your own accounts, investments and refunds are not counted as spending.
- Classifies, and asks when unsure. Your rules first, then what it has seen before, then an AI suggestion within a hard monthly budget. Whatever is left goes to a review queue and to Telegram.
- Analytics you can trace. By category, period and person, in any currency at the day's rate. Every figure opens the payments behind it.
- Assets over time. Everything the household owns, valued on a date, with a chart.
- A health page. Whether each import is alive, when each bank consent expires, when the last backup ran.
It installs on a phone as an app, takes receipt photos from Telegram, and makes encrypted daily backups.
- Bank access is read-only. There is no code for payments or transfers.
- Money is stored as whole minor units, never as floating-point numbers.
- The AI suggests a category; plain code computes every total. The model has no access to credentials, the database or a shell.
- A person's decision outranks every rule and suggestion.
- Unresolved money stays visible instead of dropping out of the total.
The full list is in AGENTS.md.
Online: demo.keepard.com, signed in as
guest@keepard.com with the password keepard-demo-for-everyone. Change what
you like; the workspace is rebuilt every night.
On your own machine the demo needs no bank and no keys. It opens a workspace with sixteen months of an invented household. You need Node.js 24 and pnpm.
pnpm install --frozen-lockfile
pnpm demo:seed
pnpm demoOpen http://127.0.0.1:3300. See the showcase.
Start with First install and the example
configuration in deploy/config-examples.
Today it runs as a Docker Compose stack (the application, PostgreSQL, the
Telegram worker and a job runner for imports, with timers on the host) behind a
reverse proxy, with configuration files in /etc/private-finances/. Containers describes the stack,
credentials the keys it needs,
bank connectors and
Telegram setup the integrations.
It was built for one household and has not yet been installed by anyone else. Expect to read code. What will get in your way today:
- Exactly two people. Name them with
MEMBER_1_NAMEandMEMBER_2_NAME(Alex and Sam by default) and give each a sign-in withMEMBER_n_EMAILandMEMBER_n_PASSWORD. A third member is not supported. - One time zone. Months and days are counted in
Europe/Riga, which has the same offset as Kyiv all year. Elsewhere, month boundaries will be off by a few hours. - The first-install guide is new and untested. First install walks through a fresh server, with example configuration in deploy/config-examples, but nobody has followed it end to end yet. Its "Known gaps" list says what is still tied to the original server.
- Ukrainian banks: Monobank only. The interface is in English.
Making these configurable is the next piece of work. Issues and pull requests are welcome. Please never paste keys, tokens or real bank data into either.
Keepard was written by AI coding agents under one person's direction in nine days, and has been in daily family use since. The repository keeps the working rules the agents follow, the design system they compose screens from, and the checks that hold them to it. See how agents work on this project. The approach grew into the InHouse AI Starter Kit.
- Current state and roadmap
- Spending, review and evidence workflows
- Receipt photos
- Credential sources, storage and renewal
- Telegram setup
- Bringing it up: laptop, release, and rebuilding from nothing
- First install on a fresh server
- Containers
- Development and tests
- The showcase workspace
- Application architecture and limitations
- Agent working agreement
- How agents work on this project
- Requirements
- Bank integration decisions
- Deployment contract
- What the production server needs
- Monitoring contract
- The landing page
The original Ukrainian specification remains unchanged in the repository root.
Rodion Salnik, CTO and co-founder of Brocoders: rodion@brocoders.com or LinkedIn. Write if you want to run your own and get stuck, or want to build something like this together.
GNU Affero General Public License v3.0. You may use, change and share it. If you run a changed version as a service for others, you must publish your changes under the same license.
Copyright © 2026 Rodion Salnik.
