Keepard
Star
Open sourceВідкритий код Runs on your serverНа вашому сервері Read-only bank accessБанки лише на читання

Your family's money. Every bank. One place. Гроші родини. Усі банки. Одне місце.

Keepard gathers the accounts you and your partner hold in different banks and countries, works out what was really spent, and asks in Telegram when it is not sure. It runs on your own server, and nobody else sees the data. Keepard збирає рахунки, які ви з партнером маєте в різних банках і країнах, рахує, скільки насправді витрачено, і питає в Telegram, коли не впевнений. Працює на вашому власному сервері, і більше ніхто ваших даних не бачить.

Try the online demo →Спробувати онлайн-демо →
Free. Not a SaaS. About €10 a month for a small server, and you own all of it. Безкоштовно. Не SaaS. Близько €10 на місяць за невеликий сервер, і все належить вам.

Keepard on a phone: this month's spending, own money and month by month, in demo mode

Sound familiar?Знайомо?

The monthly evening with a spreadsheet, retired Щомісячний вечір з Excel можна скасувати

Once a month you sit down to work out where the money is and where it went, and you keep putting it off.Раз на місяць треба звести, де скільки лежить і куди пішло, і ви щоразу це відкладаєте.

Transactions arrive by themselves every day, from every connected bank.Транзакції приходять самі щодня, з кожного підключеного банку.

The bank's "analytics" counts a transfer to your own card as spending.Банківська «аналітика» рахує переказ собі на іншу картку як витрату.

Transfers between your accounts, investments and refunds are counted for what they are.Перекази між своїми рахунками, інвестиції й повернення рахуються як є, а не як витрати.

Two months later nobody remembers what that card-to-card transfer was for.Через два місяці вже ніхто не пам'ятає, що це був за переказ на картку.

Keepard asks in Telegram the same day, while you still remember.Keepard питає в Telegram того ж дня, поки ви ще пам'ятаєте.

Accounts, deposits, a broker and some crypto live in five apps and three currencies.Рахунки, депозити, брокер і трохи крипти живуть у п'яти застосунках і трьох валютах.

Everything you own, in one currency, on one chart, month after month.Усе, що у вас є, в одній валюті, на одному графіку, місяць за місяцем.

Who it is forДля кого

Made for one household, shared for the next Зроблено для однієї родини, відкрито для наступної

Accounts in several countriesРахунки в кількох країнах

Monobank at home, Wise and Revolut abroad, a local bank where you live now. No aggregator covers that mix.Monobank удома, Wise і Revolut за кордоном, місцевий банк там, де живете зараз. Жоден агрегатор такий набір не покриває.

Couples who budget togetherПари зі спільним бюджетом

See the family's spending, not just your own, with each person's share one tap away.Бачите витрати родини, а не лише свої, і частку кожного — в один дотик.

Anyone who wants the whole pictureХто хоче бачити все

Not only spending: accounts, deposits, broker, crypto and cash, valued on a date in one currency.Не лише витрати: рахунки, депозити, брокер, крипта й готівка, на дату й в одній валюті.

People who keep their dataХто не віддає свої дані

Your bank data stays on your server, not in someone else's SaaS.Банківські дані лишаються на вашому сервері, а не в чужому SaaS.

What it doesЩо вміє

Everything a family budget needs, and nothing it doesn't Усе, що потрібно сімейному бюджету, і нічого зайвого

Made for daily use on a phone, where it installs like an app. These screens come from the demo, filled with an invented household. Зроблено для щоденного користування з телефона, де він встановлюється як застосунок. Ці екрани — з демо, заповненого вигаданою родиною.

The month at a glanceМісяць з першого погляду

Home answers the question you open the app with: how much have we spent this month, compared with the same days last month. Below it, your own money across personal accounts, and spending day by day.Головна відповідає на питання, з яким ви відкриваєте застосунок: скільки ми витратили цього місяця порівняно з тими самими днями минулого. Нижче — ваші власні гроші на особистих рахунках і витрати день за днем.

  • Payments still waiting for a decision are shown apart, never mixed into the totalsПлатежі, що чекають рішення, показані окремо і не змішуються з підсумками
  • Any currency, at the day's commercial rateБудь-яка валюта за комерційним курсом дня
  • Every figure opens the payments behind itКожна цифра відкриває платежі, з яких складається
Home: spent this month, own money, spending day by day

Spot the heavy monthsВидно, які місяці були важкими

Every month against your own average: the heaviest in colour, the current one hatched. Underneath, what made a heavy month heavy, meaning the categories that ran above their usual and the largest payments.Кожен місяць порівняно з вашим середнім: найважчі виділені кольором, поточний заштрихований. Під ними — що саме зробило місяць важким: категорії понад звичне і найбільші платежі.

Month by month, with the average marked and the heaviest months in colour

Where the money wentКуди пішли гроші

Categories ranked by what they cost, and the largest payments of any month. A table of every category for every month, darker where more was spent, shows a pattern in a second that a spreadsheet hides for a year.Категорії за тим, скільки вони коштували, і найбільші платежі будь-якого місяця. Таблиця «кожна категорія, кожен місяць», де темніше — більше витрачено, за секунду показує те, що Excel ховає рік.

  • For the whole family or for one personДля всієї родини або для однієї людини
  • Categories with subcategories, named the way you likeКатегорії з підкатегоріями, названі як вам зручно
Where it went: categories and the biggest paymentsEvery category, every month: a table, darker where more was spent

Questions instead of choresПитання замість рутини

Your rules sort most payments; what it has seen before sorts more; an AI suggestion handles part of the rest. Whatever is left waits in Review and comes to your family Telegram chat: "what was this payment?" Answer with a reply, while you still remember.Більшість платежів розкладають ваші правила, частину — те, що система вже бачила, ще частину — пропозиція AI. Решта чекає в «Перегляді» і приходить у сімейний чат у Telegram: «що це був за платіж?» Відповідаєте реплаєм, поки ще пам'ятаєте.

  • Either of you can answer, and it records who didВідповісти може будь-хто з вас, і видно, хто саме
  • Your decision always wins over the AIВаше рішення завжди важливіше за AI
Review: payments waiting for a decision

Every payment, with its storyКожен платіж зі своєю історією

What kind of money it was (personal spending, a transfer between your accounts, an investment, a refund), its category and tags, a receipt photo sent to the family chat, and exactly what the bank recorded.Що це були за гроші (особиста витрата, переказ між своїми рахунками, інвестиція, повернення), категорія й теги, фото чека з сімейного чату і саме те, що записав банк.

  • Transfers and investments never count as spendingПерекази й інвестиції ніколи не рахуються як витрати
  • A refund reduces the purchase it returnsПовернення зменшує покупку, яку повертає
A payment card with type, category, receipt evidence and the bank's record

Everything you own, over timeУсе, що маєте, у часі

Accounts, deposits, a broker, crypto and cash, valued on a date in one currency. A snapshot every month shows how it grows, how much is invested and how much sits in each currency.Рахунки, депозити, брокер, крипта й готівка, оцінені на дату в одній валюті. Знімок щомісяця показує, як усе росте, скільки інвестовано і скільки лежить у кожній валюті.

  • Bank balances arrive by themselves; the rest comes from feeds or a quick monthly entryБаланси банків приходять самі, решта — з фідів або коротким записом раз на місяць
Assets: everything, invested and liquidAssets over time and how they divide

Your banks, connected read-onlyВаші банки — лише на читання

Monobank connects with its personal token, accounts and jars included. Wise, Revolut, Swedbank, LHV and other European banks connect through Enable Banking: you approve access in your bank's own app, and it is free for your own accounts.Monobank підключається персональним токеном, разом із банками-«банками». Wise, Revolut, Swedbank, LHV та інші європейські банки — через Enable Banking: доступ підтверджуєте в застосунку свого банку, і для власних рахунків це безкоштовно.

  • Each of you approves only your own accountsКожен підтверджує лише свої рахунки
  • Transactions arrive daily, without duplicatesТранзакції приходять щодня і без дублів
  • You see in advance when a bank's access expiresВидно заздалегідь, коли спливає доступ до банку
Bank connections: approve your own accounts

AI that keeps to a budgetAI, що тримається бюджету

You set a monthly maximum, and requests stop before it is reached. One chart shows who actually decided your money: you and your rules, the model, or the defaults. The model only suggests; every total is computed by plain code.Ви задаєте місячний максимум, і запити зупиняються ще до нього. Один графік показує, хто насправді розклав ваші гроші: ви й ваші правила, модель чи налаштування за замовчуванням. Модель лише пропонує, а всі підсумки рахує звичайний код.

  • Works without AI too, on your rules and your answersПрацює і без AI — на ваших правилах і відповідях
AI spending against its monthly maximum, and who decided the money

Two people, two sign-insДвоє людей — два входи

Each of you has your own login and sees the whole family, with every figure splittable by person.У кожного свій вхід, і кожен бачить усю родину, а будь-яку цифру можна розбити по людях.

Installs on your phoneВстановлюється на телефон

Add it to the home screen and it opens like an app, with pull to refresh.Додаєте на головний екран, і він відкривається як застосунок, з оновленням потягуванням вниз.

Cash counts tooГотівка теж рахується

Cash accounts and cash spending, entered right in the app.Готівкові рахунки й витрати вносите прямо в застосунку.

Many currenciesБагато валют

Show everything in the currency you choose, at each day's rate.Показуйте все у вибраній валюті за курсом кожного дня.

A health pageСторінка «здоров'я»

Whether every import is alive, when each bank's access expires, when the last backup ran.Чи живий кожен імпорт, коли спливає доступ до банку, коли був останній бекап.

Encrypted backupsШифровані бекапи

Every day, to storage of your choice, away from the server.Щодня, у вибране вами сховище, окремо від сервера.

How it worksЯк це працює

From a bank record to an honest number Від банківського запису до чесної цифри

ImportІмпорт

Read-only connections pull new transactions and balances every day.Підключення лише на читання щодня забирають нові транзакції й баланси.

RulesПравила

Your rules by merchant and description settle most payments.Ваші правила за мерчантом і описом розкладають більшість платежів.

AI suggestsAI пропонує

What is left gets a suggestion within a fixed monthly budget.Для решти — пропозиція в межах фіксованого місячного бюджету.

You decideВирішуєте ви

Doubtful ones come to Telegram or the review queue.Сумнівні приходять у Telegram або в чергу на рішення.

Code countsРахує код

Totals are computed by plain code from exact amounts, never by the model.Підсумки рахує звичайний код із точних сум, а не модель.

Rules it never breaksПравила, які не порушуються

Each one used to be a bug Кожне колись було помилкою

Read-only with banksЗ банками — лише читання

It cannot make a payment or a transfer. There is no code for it.Він не може зробити платіж чи переказ. Такого коду просто немає.

Exact moneyТочні гроші

Amounts are whole minor units, never floating-point numbers.Суми зберігаються цілими копійками, а не дробовими числами.

A transfer is not spendingПереказ — не витрата

Moves between your own accounts and investments stay out of expenses.Рухи між своїми рахунками та інвестиції не потрапляють у витрати.

AI suggests, code countsAI пропонує, рахує код

The model has no access to credentials, the database or a shell.Модель не має доступу до ключів, бази даних чи shell.

People winЛюдина головна

A human decision outranks every rule and every suggestion, and a bank's correction does not erase it.Рішення людини важливіше за будь-яке правило чи пропозицію, і виправлення від банку його не стирає.

Gaps stay visibleПрогалини видно

Unresolved money is shown as unresolved, not quietly left out of the total.Нерозібрані гроші показані як нерозібрані, а не тихо випадають із підсумку.

What it costsСкільки коштує

Less than a streaming subscription Менше, ніж підписка на стрімінг

~€10 /moміс
A small VPSНевеликий VPS

It can share the server with your other projects.Може жити на одному сервері з іншими вашими проєктами.

€0
Bank connectionsПідключення банків

Monobank's personal API and Enable Banking for your own accounts are free.Персональний API Monobank і Enable Banking для власних рахунків безкоштовні.

≤ $10 /moміс
AI classificationAI-класифікація

A hard cap you set. The app reserves the cost before each request and stops at the limit.Жорсткий ліміт, який ви задаєте. Застосунок резервує вартість до кожного запиту і зупиняється на межі.

No subscription, no account with us, nothing to cancel. A domain name is optional.Ні підписки, ні акаунта в нас, нічого скасовувати. Домен — за бажанням.

Before you forkПерш ніж форкати

An honest list of what it is not Чесно про те, чим він не є

  • You run it yourselfВи запускаєте його саміYou need a server and some comfort with a terminal, Docker and API keys. There is no hosted version.Потрібні сервер і трохи впевненості з терміналом, Docker і API-ключами. Хостингової версії немає.
  • Ukrainian banks: Monobank onlyУкраїнські банки: лише MonobankOther Ukrainian banks do not offer practical access to a private person's own transactions yet.Інші українські банки поки не дають приватній особі практичного доступу до власних транзакцій.
  • Built for one householdЗроблено під одну родинуExactly two people, named as you like, and the Kyiv time zone. Nobody but its author has installed it yet, so expect rough edges.Рівно двоє людей (імена задаєте ви) і київський часовий пояс. Крім автора, його ще ніхто не встановлював, тож можливі шорсткості.
  • Not bank-grade securityНе банківський рівень безпекиCareful defaults, encrypted backups and sign-in, but it is your server and your responsibility.Обережні налаштування, шифровані бекапи й вхід за паролем, але це ваш сервер і ваша відповідальність.

Run your ownЗапустіть своє

Try it on a laptop first Спершу спробуйте на ноутбуці

The demo needs no bank and no keys: it opens a workspace filled with sixteen months of an invented household.Демо не потребує ні банку, ні ключів: відкриває простір із шістнадцятьма місяцями життя вигаданої родини.

Or look around online firstАбо спершу подивіться онлайн

The same invented household, on a phone or a laptop. Change anything you like: it is rebuilt every night.Та сама вигадана родина, з телефона чи ноутбука. Змінюйте що завгодно: щоночі все відновлюється.

Open the demoВідкрити демо
Step 1Крок 1

Fork and cloneФоркніть і клонуйте

Your own copy, yours to change.Ваша власна копія, змінюйте як хочете.

git clone https://github.com/YOUВИ/private-finances
cd private-finances
Fork on GitHub →Форкнути на GitHub →
Step 2Крок 2

Open the demoВідкрийте демо

Node.js and pnpm, then open 127.0.0.1:3300.Node.js і pnpm, далі відкрийте 127.0.0.1:3300.

pnpm install --frozen-lockfile
pnpm demo:seed
pnpm demo
About the demo →Про демо →
Step 3Крок 3

Put it on a serverПоставте на сервер

A Docker Compose stack with its own database and backups. Then connect your banks and a Telegram bot.Стек Docker Compose із власною базою і бекапами. Далі підключіть банки й Telegram-бота.

Setup guide →Інструкція →

FAQ

QuestionsПитання

Is this a service I sign up for?Це сервіс, де треба зареєструватися?

No. Keepard is software you run yourself. There is no account with us and we never see your data.Ні. Keepard — це програма, яку ви запускаєте самі. Акаунта в нас немає, і ваших даних ми не бачимо.

Which banks does it support?Які банки підтримуються?

Monobank directly, and European banks available through Enable Banking, such as Wise, Revolut, Swedbank and LHV. Balances from a broker or a crypto exchange can come from feeds; anything else can be entered by hand.Monobank напряму і європейські банки, доступні через Enable Banking, наприклад Wise, Revolut, Swedbank і LHV. Баланси брокера чи криптобіржі можуть приходити з фідів, решту можна внести вручну.

Can it move my money?Чи може він переказувати гроші?

No. Bank access is read-only, and there is no code for payments or transfers.Ні. Доступ до банків лише на читання, і коду для платежів чи переказів немає.

What does the AI see?Що бачить AI?

Payment descriptions for the payments your rules could not settle, not statements and never credentials. It only suggests a category; totals are computed by code. Without an AI key, payments are classified by your rules and by hand.Описи платежів, які не розібрали ваші правила, — не виписки і ніколи не ключі. Він лише пропонує категорію, підсумки рахує код. Без AI-ключа платежі класифікуються вашими правилами і вручну.

What language is the app in?Якою мовою застосунок?

The interface is in English today. Category names are yours to choose.Інтерфейс поки англійською. Назви категорій обираєте ви.

I got stuck setting it up. Where do I ask?Я застряг із налаштуванням. Де спитати?

Open an issue on GitHub. Describe what you ran and what happened, without your keys or bank data.Відкрийте issue на GitHub. Опишіть, що запускали і що сталося, без ключів і банківських даних.

CollaborationСпівпраця

Let's build something together Давайте зробимо щось разом

Want to adapt Keepard for your family or team, add your bank, or build a similar tool for your company? I'm open to collaboration. Write to me.Хочете підлаштувати Keepard під свою родину чи команду, додати свій банк або зробити схожий інструмент для своєї компанії? Я відкритий до співпраці — пишіть.

Rodion Salnik

CTO and co-founder ofCTO і співзасновник Brocoders

Keep your family's money in view Тримайте гроші родини перед очима

Fork it, run it, change it. And if it is useful, a star helps the next household find it. Форкніть, запустіть, переробіть під себе. А якщо стане в пригоді, зірка допоможе знайти його наступній родині.