Проект публикуем без бренда по договорённости с заказчиком. Данные на скриншотах — демонстрационные (балансы, транзакции и счёт сгенерированы для показа), реальные финансовые данные не используются.
01 · Идея и задача
У состоятельного человека активы разбросаны: несколько банков в разных странах, брокерский счёт, крипта на биржах и в кошельках, слитки золота, квартира под аренду. Чтобы понять, сколько всего капитала и как он меняется, приходится вручную сводить выписки и курсы. Идея приложения — делать это автоматически: подключил источники один раз и видишь актуальный net worth в любой момент, в одной валюте.
Задача: собрать мультивалютный учёт капитала, где балансы подтягиваются из банков и бирж по API, курсы валют, крипты и металлов обновляются сами, транзакции раскладываются по категориям и бюджетам, есть совместный доступ для семьи или финансового советника, импорт выписок и экспорт отчётов. Всё это — мобильное приложение под iOS и Android, серверная часть с банковскими интеграциями и веб-админка.



02 · Что было сложно
- Банковские интеграции под разные регионы. Единого «подключить банк» не существует: для одних стран это Plaid, для Европы — Salt Edge, для отдельных банков — свои провайдеры. Каждый со своим OAuth, форматами счетов и транзакций, вебхуками и повторной авторизацией. Нужно было свести их к единому виду «счёт — баланс — транзакции», чтобы в приложении источник банка выглядел одинаково.
- Один net worth из разных классов активов. Банки в евро, брокерский счёт в долларах, крипта в монетах, золото в унциях, недвижимость в ручной оценке — всё это нужно привести к одной валюте по актуальным курсам и сложить. Курсы фиата, крипты и металлов тянутся из разных источников и обновляются по расписанию, а пересчёт идёт на лету при смене основной валюты.
- Брокеры и криптобиржи. Инвестиционные счета подключаются через SnapTrade, криптобиржи — через CCXT (единый интерфейс к десяткам бирж), кошельки читаются по адресу в блокчейне. Балансы приходят асинхронно и обновляются в реальном времени по WebSocket, чтобы портфель «дышал» без ручного обновления.
- Деньги требуют аккуратности и приватности. JWT-авторизация, ограничение частоты запросов, хранение токенов банков на сервере, разделение прав. Командный доступ (семья, бухгалтер, советник) сделан с гранулярными разрешениями и согласованием операций: участник видит только разрешённые кошельки и активы, а часть действий уходит на подтверждение владельцу.
- Импорт, категории и отчёты. Не всё подключается по API, поэтому есть импорт выписок из CSV с распознаванием форматов, ручные активы и сделки, система категорий и подкатегорий, бюджеты и аналитика расходов, а также экспорт отчётов для себя или советника.
Главная инженерная задача — превратить десяток несовместимых источников (банки разных стран, брокеры, биржи, кошельки, металлы) в один живой net worth в выбранной валюте.
03 · Как устроено приложение
Общий капитал и активы
Главный экран — общий капитал в основной валюте, динамика, виджет курсов и список кошельков. Кошелёк раскрывается в активы: банковские счета (подключённые по API), криптовалюты с количеством монет, брокерский счёт, металлы в унциях, недвижимость. Видно вклад каждого актива в общий капитал.


Транзакции, бюджет и аналитика
Транзакции собираются из подключённых счетов и добавляются вручную, раскладываются по категориям, банкам, наличным и крипте. Поверх — аналитика и бюджет: доходы и расходы за период, чистый поток, сравнение с прошлым месяцем и разбивка расходов по категориям.


AI-консьерж
Встроенный AI-ассистент отвечает на вопросы о финансах по данным портфеля: анализирует структуру капитала, подсказывает риски и точки роста, разбирает расходы. Это надстройка над теми же данными, что и весь учёт, — поэтому ответы опираются на реальную картину пользователя.
04 · Результат
Получился полноценный финтех-продукт: мобильное приложение, серверная часть с банковскими интеграциями и веб-админка. В приложении — общий капитал по всем активам, подключение банков и бирж по API, мультивалютный пересчёт по живым курсам, транзакции с категориями и бюджетами, аналитика расходов, командный доступ с согласованиями, AI-консьерж, импорт CSV и экспорт отчётов. Приложение собирается под iOS и Android из одной кодовой базы на React Native (Expo).
Архитектурно балансы и транзакции тянутся из банков (Plaid, Salt Edge), брокеров (SnapTrade) и криптобирж (CCXT), приводятся к единому виду и хранятся в PostgreSQL; курсы валют, крипты и металлов обновляются по расписанию, а изменения портфеля прилетают в приложение в реальном времени по WebSocket. Серверная часть и админка упакованы в Docker за nginx.
05 · Что дальше
Продукт развивается в сторону более глубокой аналитики капитала: история net worth и доходность по классам активов, цели и сценарии, новые банковские провайдеры и регионы, расширение AI-консьержа. Единая модель «источник → счёт → активы → транзакции» позволяет добавлять новые интеграции, не переписывая приложение.
Связка React Native (Expo) на клиенте и Node + PostgreSQL в Docker на сервере, с провайдерами Open Banking, SnapTrade и CCXT, — масштабируемый фундамент для финтех-приложений: его легко наращивать новыми источниками данных, валютами и платформами.