Расскажите о себе и сути проекта?
По профессии я веб-разработчик (бэк, фронт), но сейчас больше руковожу программистами нежели пишу код сам. Занимаюсь вебом добрые 18 лет, из которых больше 10 делаю это за пределами родины. Последние три года в Сингапуре.
Хочу рассказать про свой пет-проект Cointry - Telegram бот для ведения учета за расходами и доходами, который мы с супругой активно используем сами вот уже три года.
Как появилась идея? Что вдохновило?
Записывать свои расходы я начал много лет назад, когда жил и учился на Тайване. Сначала это был просто бумажный блокнотик, куда записывались самые основные траты и получки, чтобы давать хотя бы какое-то базовое представление о том, сколько я трачу в среднем в день. Я ориентируюсь именно на суточный бюджет, т.к., мне кажется, это более осязаемая вещь. Скажем, у нас бюджет в 30 т.р. в месяц, и надо тратить их так, чтобы на исходе месяца не остаться с дырой в кармане. Путём нехитрых вычислений получаем сумму около 1000 рублей в день. Теперь понять, что ты сегодня можешь себе позволить, а что нет, уже гораздо проще.
С появлением первых мобильных приложений для учёта расходов стало чуть проще. После множества перепробованных приложений я выбрал Умный Счёт, которым пользовался больше 7 лет. В нём было всё, что мне нужно. Не хватало только двух вещей:
- Совместного использования несколькими людьми
- Скорости ввода новых данных
Когда ко мне приехала моя девушка, и мы стали жить вместе, учёт расходов усложнился. Приложение не поддерживало совместное использование, и расходы мы вводили на одном телефоне каждый вечер.
Конечно, я регулярно проверял всё, что появлялось в AppStore, но задерживалось оно у меня на телефоне ненадолго. Как правило, меня не устраивало слишком большое количество телодвижений для создания одной записи: нажми на добавление траты, выбери поле значения, введи цифру, выбери следующее поле, выбери категорию, выбери следующее поле, введи описание и т.д.
Всё это заставило меня задуматься о создании своего приложения, но все прототипы, которые я рисовал, были по сути теми же яйцами с видом сбоку, потому я на время забросил эту идею, пока через несколько лет до меня не дошло два открытия:
- Кажется парадоксальным, но вводить текстом описание транзакции легче, чем пробегать глазами по списку категорий, соотносить текущую трату с ними и выбирать нужную - это требует слишком много когнитивных усилий, прикладывать которые на ходу тяжело.
- Для записи расходов не нужно отдельное приложение, которое нужно устанавливать, каждый раз запускать, ждать его загрузки, изучать интерфейс и привыкать. Весь флоу - типичный диалог вопрос-ответ. И здесь сам бог велел использовать формат чат-бота. А лучшая платформа для ботов у Telegram.
Эти два открытия наконец рассеяли для меня туман войны и натолкнули на тот UX, который мне нужен и не копирует 100500 существующих приложений. Управление командами, а не кнопками - ключевая фишка.
100 пиво с друзьями
– А как мне указать другую валюту?
– Просто добавь ее в команду. Если ее не указать, будет использована твоя дефолтная валюта:
30 USD groceries
– А как быть с записью доходов?
– Просто добавь плюс:
+20000 рублей аванс
– Звучит неплохо, но как быть с категориями? Ты же хочешь в конце месяца получить разбивку по ним?
– А вот здесь самое интересное. Тебе не нужно каждый раз указывать категорию. Твой комментарий к транзакции ассоциируется с категорией в первый раз, а дальше при том же комментарии будет использована та же категория без лишних вопросов.
10 на телефон
Chimit потратил 10 SGD на 📱 Связь и Интернет
– Я забыл записать траты за вчерашний день. Придется записывать сегодняшним днем?
– К записи можно добавить дату или просто написать "вчера" или "позавчера":
2545 кроссовки позавчера
– Как записывать расходы нескольким людям вместе?
– Проблема совместного использования решается групповыми чатами. Создаем чат, добавляем людей и бота. Бот будет отличать всех и учитывать, кто сколько потратил.
Что вошло в прототип и сколько времени на него было потрачено?
На дворе был 2020 и разгар пандемии, который внес коррективы в мой рабочий график, что я смог позволить себе работать над проектом каждый день по полдня по строгому расписанию. Каждое утро я ходил в библиотеку как на работу, стараясь максимально имитировать нормальный рабочий процесс (Тайвань довольно продолжительное время успешно сохранял нулевую заболеваемость, потому общественные библиотеки работали без ограничений). Также я поставил себе жесткий дедлайн до нового года - три месяца ушло на первую публичную версию и еще два до стабильной.
С нового года у меня начиналась новая очень ответственная работа, и я понимал, что если не сделаю все, что запланировал в срок, то уже не сделаю, возможно, никогда. Это хорошо подстегивало. Потому в релиз я постарался уместить все, что изначально планировал: расходы/доходы, категории, отчеты, совместное использование, транзакции задним числом и мультивалютность.
Какой технологический стек вы использовали? Почему?
Здесь я руководствовался мудростью древних: делай на том, что знаешь лучше всего. Потому выбор пал на PHP и Laravel (Botman). Тут все очень стандартно для лары: MySQL, Redis, Laravel Forge для деплоя, Hetzner, Cloudflare. На фронте немного Tailwind CSS. Впоследствии я еще не раз благодарил себя за то, что выбрал знакомый стек, а не пустился в заманчивое приключение "и продукт сделаю, и новую технологию выучу", которая похоронила немало классных инициатив.
Как вы запускались и искали первых пользователей?
Проект делался в первую очередь для собственных нужд, потому никакой раскруткой я не занимался, ограничившись лишь шерингом с друзьями. Еще закидывал на Product Hunt. С тех пор проект растет исключительно органически (медленно). Признаюсь, в этом я просто не силен, и если среди читателей есть знающие люди, готовые помочь или поделиться советом, буду крайне благодарен 🙏
С какими самыми неожиданными трудностями пришлось столкнуться?
Т.к. я уже много лет живу на чужбине, для меня было очень важно, чтобы бот хорошо поддерживал разные валюты. Cointry скачивает актуальные курсы всех валют мира каждый день и при генерации отчетов конвертирует суммы в вашу дефолтную валюту по курсу на день совершения траты. Однажды эта конвертация сломалась, и я не мог понять, в чем дело. Оказалось, 22 марта 2021 венесуэльский боливар упал с 12 боливаров за евро до 214 миллиардов за 1 евро 😱, к чему моя база данных просто не была готова. Решил не заморачиваться и просто исключил валюты с такими аномальными значениями.
Сколько потратили и заработали? Есть идеи как это можно монетизировать?
В Cointry есть премиум за символическую цену, но все основные функции доступны бесплатно и без ограничений. Если не считать время, затраты на поддержание копеечные. Впрочем, как и доходы :D
Какие планы на будущее?
Хочу сделать периодические записи, чтобы не записывать аренду/абонентскую плату/подписки каждый месяц. Также были некоторые мысли насчет применения GPT-3/4 для полностью автоматического определения категорий, чтобы не спрашивать про них вообще никогда. Но пока мои эксперименты в этой области не убедили меня в целесообразности такой функции. Результаты от нейросетей слишком непредсказуемы.
Нужны ли какие-то советы или помощь Клуба?
Был бы рад советам по продвижению, а также любому фидбеку.
Какой совет вы бы сами могли дать идущим по вашим стопам?
Если делаете что-то ради результата, а не просто процесса или самообразования, то выбирайте знакомые и устоявшиеся технологии. Путь создания чего-либо нового тернист, и лучше, если препятствий на этом пути будет как можно меньше.
Мотивация вещь капризная. Сегодня она есть, а завтра нет. Это плохой помощник в длинном пути (хоть и способный сдвинуть с мертвой точки). Ваш лучший компаньон - это дисциплина. Направляющее окружение, расписание, планирование и дедлайны помогут выработать эту самую дисциплину.
звучит прикольно. есть штуки, которых в мобсе нет.
меня всё ещё подбивает у всех подобных ботов отсутствие округления в инвесткопилку. у меня тинькофф до 100 рублей каждую транзакцию округляет и кладёт в инвесткопилку :D
Сам не так давно озаботился учетом финансов, но как мне показалось, толковой альтернативы зенмани как не было, так и нет, собственно его и использую. Если не секрет, чем вам не подошло?
Ну и могу точно сказать какой фичи нехватает - синхронизации с банком. Я после релокации какое-то время ходил с налом и вручную вносил все траты - это не работает на долгую перспективу.
Но начинание классное!
Крутая библиотека! А это где?)
Крутой проект!
Я сделал почти тоже самое только на iOS, вот - https://apps.apple.com/id/app/coinbliss/id6447508240
Поддержка валют, синк с iCloud и добавление транзакции в пару кликов
Можете попробовать ;)
Отличный проект, классный подход - именно его надеялся увидеть, когда открывал пост 👍🙂
Подход максимально перекликается с тем, что используется в знаменитой Тинькофф табличке - и поэтому, собственно, вопрос: нет ли в планах поддержки работы именно с этой табличкой?
Использую её уже пару лет, и всё супер с точки зрения ведения учёта / визуализации общего положения вещей, но вот если добавить сюда такого бота для внесения трат - будет просто бомба 🔥
По вводу выглядит удобно, а вот итоговых отчетов не увидел на лендинге.
Я тоже долго эксперементировал с разными приложениями, но в итоге победила своя табличка в гугл экселе. (тиньковскую осуждаю)
Сделал там себе все что хотел - планирование, бюджетирование, расходы, доходы, кредиты и тд..
Разве что вносить приходилось все вручную. Но это не так уж сложно делать раз в пару дней.
А потом появился МОБС - ровно то что я порывался сам написать несколько раз :)) Стал пользоваться им через Телеграм и у него есть вполне неплохоя табличка для расходов\доходов.
Эти данные уже сгруппированные переношу в свою табличку раз в месяц.
Деньги ОК использую с 2014-го года. Удобное и в целом простое для меня калькулировавший расходов и затрат. Также раз в месяц всё это выгружается в эксельку для последующего подсчета разницы между доходами. Рекомендую попробовать, вдруг, кто-то не знал.
Времена не простые, тоже уже год как начала все расходы трекать, но пока у меня гугл-таблички.
конечно есть идея напилить свой велосипед, который бы как раз состояли из веб-морды и ТГ бота, как альтернативного интерфейса.
но у меня не просто трекинг расходов по категориям, суть в том что у меня есть "бюджеты" на все категории, и задача за месяц не вылезти за бюджет, если вылез, то долг уходит в след месяц, как если сэкономил так и остаток падает на след месяц.
все бюджеты висят отдельно в константах(другой пейдж) и подтягиваються в каждый новый созданый месяц.
опять-же дает делать какую-то аналитику, если например какой-то из бюджетов постоянно в долгах, значит либо не правильно был выделен либо нужно пересматривать потребление. Корректировки бюджетов делаю "раз в год"
в случае падения доходов, как случилось месяц назад есть возможность пустить "под нож" не очень важные бюджеты и перейти в эконом-режим без сильной боли.
UPD: да абсолютно отсуствует фича "внести поступления" т.к. она не мне нужна, сколько денег есть у меня в кошелька и на карточке я и так знаю :)
поставил, попробовал, пока мне нравится :)
даже денежку занесу, если через какое-то время пойму, что нигде не жмет 👍
из хотелок помимо повторяющихся платежей калькулятор вроде
"110*0.25 ресторан"
(когда счет делите)я все же остановился на гугл шите своем (не знал про тиньковский тогда еще), который заполняем раз в месяц из банка по категориям сразу, а не отдельным транзакциям
плюс есть к шиту прикрученный бот в телеге - это обычно, чтобы записать кэшовые расходы в моменте
чем GS выигрывает - можно отличный дашборд собрать в датастудио, который бесплатный и обновляется, когда шит обновляется
Клевая идея, что не надо ставить отдельное приложение.
Для совместного ведения трат есть еще Splitwise.
Оч удобная штука, особенно когда едешь куда-то с друзьями, все записывают свои траты в общую группу, а потом приложуля сама считает кто кому сколько должен. Рекомендую) Можно оттуда позаимствовать идей:)
Круто! Узнал+согласен, линкую свой пост: https://vas3k.club/project/15189/
Вопрос не стандартный, но есть ли таймаут чек при отправке транзакции боту?
Допустим у меня плохой моб интернет и я в глуши купил кофе, написал боту, а сообщение долго пытается отправиться но не отправляется. Я еще раз пишу, раза с 2-3 проходит. А когда выехал в цивилизацию, все 2-3 сообщения дошли и у меня кофе стало ценником в 2-3 раза дороже
Молодец, что регулярно разрабатывал пет-проджект. У самого в смежной функциональности есть желание сделать приложение под себя, но руки никак не доходят.
Пока плотно сижу ~3 года на Moneon.
Из плюсов, в приложении есть, по-моему вся функциональность, которая мне нужна: траты, кастомные категории, отчёты, экспорт, поступления, регулярные платежи и др.) Есть семейный доступ, но я заполняю сам вручную за всю семью, есть какой-то парсинг СМС о транзакциях, но я не использовал.
Из минусов: старовастый дезигн, есть небольшие баги по UI и неприятный баг с синхронизацией при смене девайса, который раз через раз всплывает и фиксится через саппорт.
Такое мы пробуем:)
В РФ пользовался коинкипером волею судеб, а после переезда руки дошли только до гуглтаблички, которую раз в n недель/месяцев заполняю. Думал уже сам какого-то бота делать в телеге, но тут на пост наткнулся.
О, я сейчас как раз пишу бота для этих же целей на основе llm)
просто СПАСИБО!
я вот как раз (пятый раз) пытаюсь начать учёт денег, но все приложения бесят как раз тем, что это отдельные приложения, а с моим СДВГ это вообще противопоказано. Бот шикарный, удобный простой и божемой надеюсь у меня наконец-то получится ввести привычку считать циферки)
Привет!
Пользовались с супругой 3 месяца. Удобно, супер.
Главная проблема - нет напоминалки.
Уверен, должна быть штука - включить уведомления.
Мы частенько забывали внести траты, а потом приходилось вспоминать за несколько дней.
начал пользоваться, очень здорово!
до этого пользовался expense manager (https://play.google.com/store/apps/details?id=at.markushi.expensemanager&hl=en_US) может кому-то здесь будет полезно, в нём нравится простота внесения, легковесность и скорость, но он только под андроид, и к тому же нет мультивалютности там, приходится делить или умножать, так себе.
Вот этой простоты внесения расходов как раз сильно не хватало, в этом смысле zenmoney вообще не зашёл, какой-то монструозный комбайн, с явным акцентом на синхронизацию с банками.
@chimit не знаю баг это или нет, случайно заметил, что если лайкнуть сообщение от партнёра с тратой, то бот воспринимает это как новую трату и в итоге появляется дубль который может удалить только автор записи
@chimit сердечко поставил, в мобильной версии (ios), только что снова смог это воспроизвести. Кстати совсем неочевидно как теперь это вычищать.
А на чём лендинг сделан?