Перейти до контенту
YYefrixLab

Кейс · Фінтех

LedgerFlow: платформа особистих фінансів

Мультитенантна платформа бюджетування та прогнозування з імпортом банківських виписок і AI-категоризацією транзакцій.

Індустрія
Особисті фінанси
Терміни
5 тижнів до продакшену
Рік
2026
Послуги
Продуктова розробка, Інтеграція AI, DevOps

Проблема

Бюджетні застосунки діляться на два табори. Хмарні сервіси, які просять доступ до вашого банку й монетизують ваші патерни витрат, і таблиці, що вмирають на третьому тижні ручного введення. Власник не хотів ні того, ні іншого. Йому були потрібні повний контроль над даними, справжнє прогнозування та імпорт із банку, чий CSV-експорт живе в кодуванні Windows-1250, має чотирнадцять ледь задокументованих колонок і жодного стабільного ID транзакції.

Що ми збудували

Self-hosted платформу особистих фінансів: транзакції, бюджети, розпізнавання регулярних платежів, правила категоризації та прогноз грошового потоку. Мультитенантність закладена з першої міграції, тож платформа обслуговує сім’ю чи невелику команду без переписування.

Найцікавіші задачі ховалися в пайплайні:

  • Імпорт банківських CSV, який витримує реальність. Експорт банку не має унікального ID транзакції, тому дедуплікація працює на контент-хеші, що включає поле банківського референсу. Детекція кодування справляється з CP1250-експортами, які брешуть про власний charset.
  • AI-категоризація зі зворотним зв’язком. Нові транзакції проходять категоризацію через LLM-шлюз. Кожне ручне виправлення стає постійним правилом, тож обсяг роботи моделі з часом звужується замість повторення тих самих помилок.
  • Прогнозування. Регулярні транзакції розпізнаються з історії та проєктуються вперед: замість статичної таблиці бюджету ви бачите живу криву грошового потоку.

Архітектура

Бекенд на FastAPI з row-level security в PostgreSQL для ізоляції тенантів, Redis і Celery для задач імпорту та категоризації, фронтенд React SPA. Усе пакується в Docker-контейнери за реверс-проксі Traefik з автоматичним TLS. Деплой зводиться до pull репозиторію та однієї compose-команди.

LLM-виклики йдуть через self-hosted шлюз із фейловером між провайдерами, тож категоризація працює навіть коли провайдер тротлить, а витрати тримаються біля нуля на безкоштовних тарифах.

Нотатки з безпеки

Row-level security працює в самій базі, а не лише на рівні API. Секрети живуть у gitignored env-файлах. Сесії серверні. Публічна поверхня: один TLS-ендпоінт за реверс-проксі з rate limiting і security headers.

Результат

Місячне закриття, яке раніше з’їдало вечір у таблицях, тепер займає одне завантаження CSV. Точність категоризації перетнула 95 відсотків за лічені тижні завдяки циклу “виправлення стає правилом”. Платформа працює на міні-ПК і з дня запуску пережила кожну примху банківського експорту.

Є проєкт, який «просто треба запустити»?

Розкажіть, що ви будуєте, що це блокує і коли потрібен запуск. Протягом 24 годин отримаєте чесну відповідь про обсяг, вартість і терміни. Без театру discovery-дзвінків.