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 шагов и заметный статус хранилища (демо-база, число счетов и операций) сделаны так, чтобы новый пользователь понимал, что происходит с его данными, с первого экрана — а не разбирался в этом постфактум.



