Карточка после каждого изменения
После действия в чат возвращается карточка: какая запись изменилась и на какую сумму.
Пишешь как человеку: оплатил интернет 300 гривен, перенеси зубного на четверг. Она меняет данные в тринадцати разделах жизни, и в чате остаётся карточка с тем, что именно изменилось.
Приложения пока нет в сторах: TestFlight у своих и APK у близких.


65 инструментов
Ассистент внутри приложения не пересказывает твои данные, а меняет их. 65 инструментов, 17 из них только читают, остальные пишут, и у всех 65 есть живой обработчик, ни одной заглушки.

три пути
Руками переносить ничего не надо: у трат три пути внутрь, а почта и календарь подключаются аккаунтом Google. Ни один из путей не пишет молча.
После действия в чат возвращается карточка: какая запись изменилась и на какую сумму.
Кадр с камеры, скриншот или файл. Claude читает строки, они ложатся в предпросмотр, и пока ты не подтвердил, в расходах их нет.
Уже записанные операции отсеиваются, и приложение говорит, сколько именно. Молчаливое «импортировано» не считается ответом.
Жмёшь «забрать», и приложение тянет всё с момента прошлой синхронизации, заходя на три дня назад: заблокированные суммы разблокируются не сразу.
Приложение само называет тихую войну своих тумблеров. Утренний брифинг попал внутрь тихих часов, значит пуш не придёт никогда, и об этом написано прямым текстом.
JSON-бэкап нужен приложению, чтобы восстановиться. CSV нужен тебе, чтобы уйти.

локальные правила
Связи между областями ищут правила, а не ИИ. Ничего не уходит наружу, квота не тратится, и это работает у человека, который ИИ вообще не подключал.
Правило кладёт отметку настроения из дневника рядом с суммой расходов за тот же день.
Плотность календаря сопоставляется с пропусками в трекере привычек за те же дни. Правило называет совпадение, а не причину.
Поздняя активность сравнивается с настроением следующего дня. Обе половины связи лежат в одной базе: ни один трекер сна не знает твоего завтрашнего настроения.
Одна строка ищет сразу по восьми разделам, без прыжков между экранами и без выбора, где именно искать.
Не открывал два дня или больше: на входе лежит разбор того, что накопилось, а не молчаливая лента.
Главная
Кольцо на Главной сравнивает процент прожитого дня с процентом закрытых дел. Старый бэклог в дневную норму не входит, иначе кольцо врало бы каждое утро.

порог 8
Вывод по трём наблюдениям это гадание с уверенным лицом. Поэтому там, где наблюдений мало, приложение молчит, а там, где цифра пришла из сети, рядом с ней стоит её возраст.
хранение
Не «мы не продаём данные», а продавать нечего: аккаунта пользователя не существует, базы с чужими записями тоже. Такой базе просто негде лежать.
Всё, что ты завёл, лежит в памяти устройства и уезжает вместе с ним.
В зависимостях их просто нет. Это проверяется по списку пакетов, а не обещанием в политике.
Запрос уходит с телефона прямо в банк. Промежуточной точки, где бы оседали твои операции, просто нет.
Единственная копия вне телефона устроена без единого моего сервера: бэкап приходит на твой ящик, ящик и есть хранилище.
Копию можно вставить из буфера обмена, значит туда может приехать произвольный JSON. Поэтому хранилище чистится при каждом запуске.
В релизной сборке ключ Claude лежит на сервере, а не в приложении, поэтому из скачанного файла его не вынуть.
счётчик
Приложение считает, во что обошлись запросы к Claude, и держит эту сумму на виду.
Дошёл до заданной суммы, и приложение само переезжает на дешёвую модель вместо того, чтобы тихо продолжать тратить.
«Обычный» и «Вдумчивый» переключаются вручную. Режим выбираешь ты, приложение его не угадывает.
У Новы есть голос, включая облачный. Фото она тоже видит, а PDF-выписку читает сканер в Финансах.
Кольцо, поиск, импорт выписки и локальные правила считаются на телефоне. Деньги уходят на запросы к Claude: разговор с Новой и разбор чеков.
сделано руками
Приложение пишу я один, весь код тоже мой. Ниже то, на что ушло время помимо функций.
экраны
Снято с работающего приложения, не нарисовано. Данные для показа выдуманы, интерфейс настоящий.




Версия 1.6.0 собрана под iOS и Android: у своих она стоит через TestFlight, у близких через APK. В App Store и Google Play её нет. Пишу его один, поэтому дату называть не буду, пока не буду в ней уверен.
Почта нужна для одного письма: приложение открылось, вот ссылка. Один адрес, одно письмо. Никому его не передаю.