Личный финансовый трекер

Smart Spend: приватный трекер личного бюджета без сервера

Mobile-first трекер личного бюджета, который хранит данные локально в браузере: мультивалютные счета, категории с иконками, отчёты по расходам и опциональная синхронизация через собственный Google Drive пользователя — без обязательной регистрации и без стороннего сервера.

Проблема

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

Отдельная проблема — мультивалютность. Если часть денег лежит наличными в сумах, часть на карте, а часть в долларовом кошельке, обычный трекер с одной валютой не даёт честной картины общего баланса без ручного пересчёта в голове.

Личный бюджет без сервера: данные остаются в браузере

Smart Spend устроен как локальный инструмент: вся база — счета, операции, категории — хранится в SQLite прямо в браузере пользователя, без обязательной регистрации и без отправки данных на сервер разработчика. Открыл страницу — увидел свой баланс, свои счета и последние операции.

Это осознанный архитектурный выбор в пользу приватности: разработчик не видит и не хранит чужие финансовые данные, а пользователь не зависит от того, работает ли чей-то сервер — база работает локально, даже если интернета нет.

Счета в разных валютах и ручной курс конвертации

На обзорном экране — карточки счетов: наличные, карта, отдельный кошелёк в USD, у каждого свой текущий остаток и своя валюта. Общий баланс наверху считается с пересчётом по курсу, который пользователь задаёт вручную в настройках (например, 1 USD = 12 600 UZS) — либо обновляет его из внешнего API одной кнопкой.

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

Операции: расход, доход, перевод — в три касания

Форма новой операции — это выбор типа (расход, доход, перевод), сумма через экранную клавиатуру или встроенный калькулятор, категория и счёт. Комментарий необязателен, а категория подставляется автоматически, если явно не выбрана другая — быстрое добавление операции не превращается в отдельную задачу.

Лента операций поддерживает фильтр по типу (все, расходы, доходы, переводы) и показывает сумму со знаком, категорию и точное время — включая перевод между своими счетами отдельной строкой, а не как два разнонаправленных расхода.

Свои категории и отчёты по месяцам

Категории расходов и доходов не зашиты заранее — пользователь заводит свои, с названием, цветом и иконкой из встроенного набора, и они сразу появляются в форме операции. Раздел «Отчёты» показывает процентную структуру расходов и доходов по категориям за выбранный период с фильтром по месяцу, счёту и категории.

Переключатель «Этот месяц» / «Всё время» даёт посмотреть либо текущую картину, либо накопленную статистику — без необходимости вручную выбирать диапазон дат каждый раз.

Резервная копия и опциональная синхронизация через свой Google Drive

Поскольку база хранится локально в браузере, потеря данных при очистке кэша — реальный риск, поэтому в настройках есть прямой экспорт и импорт SQLite-файла (.db), импорт из .xlsx и кнопка «Создать демо-базу» для сброса к стартовым примерам. Статус хранилища показывает источник данных, время последнего сохранения и число счетов и операций в базе — чтобы не гадать, актуальна ли открытая копия.

Для тех, кому нужна синхронизация между устройствами, есть вход через Google с хранением копии базы в скрытой папке `appDataFolder` собственного Google Drive пользователя — не на сервере разработчика. При конфликте версий система не выбирает автоматически, а предлагает сравнить даты локального и облачного сохранения и решить вручную.

Локальный PIN из 4 цифр блокирует доступ к приложению до разблокировки в текущей сессии браузера — простая защита для случая, когда телефон или ноутбук физически оказывается в чужих руках.

Результат

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

Встроенное руководство «Быстрый старт» на 5 шагов и заметный статус хранилища (демо-база, число счетов и операций) сделаны так, чтобы новый пользователь понимал, что происходит с его данными, с первого экрана — а не разбирался в этом постфактум.

Другие кейсы