Проект: Within Means — Вписываемся в бюджет, не выходя из телеграма  Публичный пост
2 января 2024  864
Within Means — Вписываемся в бюджет, не выходя из телеграма

На картинку нужно кликнуть, я старался.

Вот мой питч. Within Means — телеграм-бот для контроля расходов. Подходит для личного и семейного бюджета, отпусков, совместных поездок. Знает, что у людей бывает несколько счетов в разных валютах. Умеет групповые чаты и планирование.

Полезное действие приложения — принести ощущение контроля над деньгами.

А еще я потратил на это все выходные с февраля, в основном на продумывание UX в условиях интерфейса чата.

Расскажите о себе и сути проекта?

Я Сережа и я вечно попадаю в Lifestyle Creep, где когда моя зарплата повышается, расходы повышаются тоже. Каждый божий год я пишу, что в следующем году нужно обязательно начать копить. Хватит.

Проблема

Жить от зарплаты до зарплаты вредно. Когда денег впритык, про них постоянно приходится думать, идти на глупые риски, ставить себя и других в неловкие ситуации и все такое прочее. И тем не менее, так живет куча людей -- рандомная статья из гугла говорит, что 72% даже среди американцев.

Financial problems can take a huge toll on your mental and physical health, your relationships, and your overall quality of life. Feeling beaten down by money worries can adversely impact your sleep, self-esteem, and energy levels. It can leave you feeling angry, ashamed, or fearful, fuel tension and arguments with those closest to you, exacerbate pain and mood swings, and even increase your risk of depression and anxiety. You may resort to unhealthy coping mechanisms, such as drinking, abusing drugs, or gambling to try to escape your worries. In the worst circumstances, financial stress can even prompt suicidal thoughts or actions.

Другая проблема

Другая проблема — когда вы едете в поездку с друзьями и никто не миллионер, вы скидываетесь. При этом вы тратите сколько-то денег заранее, сколько-то в процессе, потом мучительно пытаетесь поделить деньги и все остаетесь с ощущением, что вы заплатили больше всех. Это не конец света, но бесит.

Я трачу все деньги

В твиттере полно смешнявок вроде "я прекрасно знаю, сколько денег я трачу — все, что у меня есть". Это, я считаю, no hehe. Сначала у тебя все расписано, а потом кошка заболела, зарплату задержали и ты вроде и ни в чем не виноват, а должен как-то выкручиваться из ситуации. Вроде каждый раз особенный и происходит редко, но что-нибудь происходит чуть ли не каждый месяц. Это стоит учитывать.

Пишу свое приложение

Понятно, что существует миллион приложений, чтобы исправить ситуацию, но ситуация не исправляется.

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

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

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

Считаем деньги

Первое, что надо сделать — посчитать, сколько и на что ты тратишь. Оказывается, что надо перестать корить себя за кофе и подписки.

Для этого в чатик можно просто начать писать свои расходы с категориями более-менее консистентно, а потом спросить у него статистику.

Мы живем в 2024 году, поэтому конечно мой бот умеет несколько счетов в нескольких валютах, которые конечно могут быть выдуманными. Мало ли, какие там криптовалюты придумают.


Наполовину выдуманные примеры
Наполовину выдуманные примеры

Чтобы не забывать записывать, можно запинить чатик.

Все интересное программирование здесь своровано из вот этой статьи про двойную запись. Позволяет делать минимальное количество приседаний для всего выше- и нижеперечисленного.

Планируем

Когда мы поняли, сколько денег и на что уходит, можно попробовать спланировать следующий месяц. Команда plan.

Карманные деньги на цветочки и подписки. Через месяц понял, что забыл парочку
Карманные деньги на цветочки и подписки. Через месяц понял, что забыл парочку

Я этим горжусь. Несколько дней ходил думал, как сделать планирование не очень погано. Придумал, что нужно иметь режимы и в разных режимах интерпретировать сообщения по-разному. Если еще точнее, интерпретировать одинаково, но ассоциировать счета и транзакции с планом в режиме планирования. Задним числом выглядит очевидно, конечно.

Делаем себе больно

Чтобы делать больно, у меня есть специальная команда, называется overbudget. В этом месяце я незапланированно потратил 750 евро.

Оказалось, что нет какой-то одной категории, на которую надо перестать тратить деньги. Вместо этого у меня работает отложить деньги куда-то, где их не видно, и не учитывать в планах.

Групповые чатики

Телеграм сделал за меня кучу всего, но больше всего я рад тому, что в нем есть групповые чаты. Позволяет не включая голову сделать семейный бюджет или чат с друзьями, чтобы куда-то вместе съездить. Работает абсолютно так же, как личные чаты, только еще в статистике пишет, кто сколько потратил. Невероятно удобно делить деньги после поездки или учитывать, сколько карманных денег потрачено на общие цели и должно быть компенсировано в следующем месяце.

До конца интернета

ДХХ писал, что их продукты будут работать до конца интернета. Разделяю эту идею всей душой.

Будет неприятно, когда приложение, которым вы пользуетесь, перестает работать или изменяется так, чтобы вам приходилось менять привычки. Я не буду выключать приложение, за которое платят люди, потому что я никому, кроме них, не должен.

Кстати о деньгах.

Платежи

Вообще приложение было более-менее готово в мае, и с расчетом на это я пошел искать, кто подключит мне платежи даже заранее, в марте.

Я живу в Сербии и тут нет страйпа. Выбрал первого попавшегося провайдера из списка поддерживаемых телегой, что работают в Сербии. Это оказался smart glocal. Вроде нормальные ребята, сделали мне чатик в телеграме, чота подсказывали, подключали и настраивали, и даже в итоге настроили, но как же все оказалось долго.

Сначала я тупил с документами и реализацией подписок, а потом они, причем в какой-то момент они несколько месяцев не могли подписать договор. Я наверное попал в какой-то лимб, но от этого не легче.

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

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

Ты хранишь данные о моих деньгах

Все сообщения из чата, в который добавлен бот, сохраняются в базу. Сообщения ассоциированы с телеграмным id пользователя, который его прислал. Я обещаю не продавать данные никому, а также вся безопасность как у серьезных людей -- к серверу базы доступ только по внутрисети fly.io с паролем, который складывается в контейнер при деплое и хранится отдельно от кода.

Также я понятия не имею, о чьих (кроме того, что присылается в сообщении) и насколько это правда. Это разрешает мне не подпадать под всякие регуляции. Я думаю о том, чтобы знать еще меньше и хранить только id чата, и не хранить сообщения, которые не парсятся как команды.

Делаю большое дело редко и понемногу

Я давно пишу программы и организую людей писать программы. У меня есть некоторое количество привычек, с которыми я работаю лучше всего. Две, которые я выделяю здесь

  • нужно все автоматизировать, тестировать, и записывать.
  • нужно первым делом разблокировать других людей.

Я работаю над этим проектом по выходным, причем на мне лежит ответственность быть отдохнувшим и проводить время с семьей. Чтобы хоть что-то сделать в таких условиях, пришлось еще придумать правило, что я не делаю вещей, пока не придумаю, как вместить их максимум в полдня, ведь всего две недели кодинга могут сэкономить целый час раздумий.

На сегодня в ноушне у меня готово 86 задач, и 27 не готово. Я считаю, получается.

Как вы запускались и искали первых пользователей?

Вы находитесь здесь. У меня полное непонимание, как делать маркетинг, когда ты инди по выходным. Начну с клуба, а там посмотрим. Если у вас есть вопрос или можете прожарить лендинг или рассказать, как все неудобно -- не стесняйтесь.

Еще у меня есть стереотип, что в Корее и Японии очень любят все организовывать и возможно людям оттуда мое приложение тоже понравится. У меня ни одной идеи, кому показать приложение, чтобы о нем узнали в этих странах, а также ощущение, что они там пользуются своими вайберами и лайнами вместо телеграма. Совет здесь мне бы тоже помог.

В общем, вот приложение, оно умеет все, чего мне хочется от приложения для бюджета, и оно помогает мне с планированием и стрессом. Попробуйте и вы, месяц бесплатно, потом 5 евро в месяц или 35 в год. https://within-means.com/

Связанные посты
19 комментариев 👇

Привет!

Поделюсь своим опытом эксплуатации таких приложений: в целом у меня запала что-то записывать хватает на месяц, дальше я забиваю и забываю. Возможно, есть другая категория людей, которым это нравится (все записывать) и дело идет у ни лучше. Тем не менее, среди всего текста, есть отличный постулат, что запись расходов надо сделать, как можно проще. Самое простое - это когда записывать ничего не нужно.

Я пользовался несколько лет приложением ZenMoney - умеет читать смс от банков и пуши от них же (вроде экспорт из банковских приложений умеет), автоматически сохраняет траты по категориям (сначала ошибается, потом все лучше) и много чего еще. Уже давно перестал пользоваться каким-либо приложением, но судя по всему ZenMoney живет и развивается. Мне кажется - они нашли идеальный сценарий для такого рода аппа.

В твоем проекте, есть одна фича - общий чат расходов, который может выделить проект из сотен подобных. Я бы на него упирал - коллаб тул для ведения расходов. Если идти по пути личных финансов, будущего у приложения нет, увы.

  Развернуть 1 комментарий

@sphinks, Привет!

Да, читать смс от банков -- хорошая фича, жалко с телеграмом несовместимая. Еще это все равно не панацея, потому что у меня например есть счета в нескольких странах и парочка в выдуманных валютах. Также я живу в стране, где заметную часть денег я трачу кешем. И я такой не один, пара сотен тысяч похожих людей образовалась в последние два года, и еще сколько-то диджитал номадов, и еще сколько-то людей шлет деньги родственникам в другую страну, и еще, и еще. Короче, я уверен, что люди для моих сценариев существуют.

Спасибо за похвалу про общий чат, мне тоже нравится :) Несколько людей выделили именно этот кусок тоже, и я даже написал отдельный лендинг для семейных бюджетов https://within-means.com/for_couple . Потому что поездка -- дело более-менее одноразовое, а семья нет. Ну и если вы ведете семейный бюджет в within means, удобно будет и свои карманные деньги трекать в нем же.

Я бы может еще это как-то подчеркнул, что типа come for group chats, stay for all the rest -- хороший сценарий привлечения пользователей в моей голове. Спасибо.

  Развернуть 1 комментарий
Nikolai Lopin Фронтендмейстер 2 января в 17:45

Привет! В посте не нашел ссылку на бота (возможно смотрел невнимательно). Было бы классно, если бы даже чувак, читающий наискосок смог ее найти

  Развернуть 1 комментарий

@lopin, Привет! Первая картинка -- ссылка, и последние слова в посте -- тоже она

https://within-means.com/

Если мимо лендинга сразу на бота, то вот https://t.me/within_means_bot

  Развернуть 1 комментарий

Привет! С удовольствием буду пользоваться, но, кажется, что-то сломалось: пишет "Something went wrong. Developers are notified about it, so try again in a few days." при любой команде.

  Развернуть 1 комментарий

@prowes,

"fi" is not a valid locale

упс :) чиню

  Развернуть 1 комментарий

@prowes, я починил, но у fly.io какие-то проблемы и я не могу задеплоить. Попробую через часок еще, или утром

UPD: Все еще investigating, эх, попробую утром

  Развернуть 1 комментарий

@prowes, смогло, попробуй снова пожалуйста

  Развернуть 1 комментарий

@s-mage, ага, заработало

  Развернуть 1 комментарий

для всего интернета можно открыть пост? Хочу жене скинуть

  Развернуть 1 комментарий

@Janibek, Это публичный пост, можно скидывать. Проверил в инкогнито, открывается

  Развернуть 1 комментарий

Прикольный проект! Но пока мне моя экселька больше нравится, потому что внесение трат в телеграмм-бот наверное будет происходить точно так же как у меня сейчас — регулярно садиться и вносить траты за 2-6 недель. Вряд ли же кто-то будет вносить каждую трату мгновенно? (всё равно нужен внимательный контоль, что ничего не упустил). А тогда вносить в эксельку мне кажется проще (эксель удобнее телеграм-бота в плане внесения однотипных данных), плюс дикая кастомизируемость и контроль над своими данными.

Вот тут есть мои рассуждения по теме + описание моей эксельки, может будет полезно для развития проекта как-то в плане новых идей (?).

  Развернуть 1 комментарий

@m-danya,

спасибо за отзыв, люди с иксельками всегда приносят интересное.

Вряд ли же кто-то будет вносить каждую трату мгновенно?

именно это и предполагается! Я успеваю отправить сообщение с суммой, пока печатается чек

смотри таймстампы
смотри таймстампы

Рассуждения хорошие, особенно хейт к банковским приложениям отзывается. И у меня тоже была икселька, и в нее действительно неудобно вносить траты на ходу. Еще несмотря на то, что иксельку можно кастомизировать, это примерно так же удобно, как программировать в репле, причем когда ты его открыл и забыл на месяц, а потом открыл снова.

Страничка, в которую влезает весь год, красивая, в чат такую не засунешь, придется выдумывать.

  Развернуть 1 комментарий

@s-mage, если сделать упор на привычке вносить как только оплатил, то звучит интереснее, да. Можно не тратить время на разбор. Правда редко возникают траты, которые вообще не попадают в таблицу, а просто схлопываются (купил кому-то что-то и он отдал и т.д.), но это решаемо

Ещё идея пришла, что прикольно было бы, если бы тг бот в качестве бд использовал spreadsheet юзера (у гугла есть апи), тогда полностью решается проблема с некастомизируемостью -- на отдельном листе можно сделать себе любую аналитику, если понадобится, и данные всегда актуальны. И фильтровать траты как захочется можно. Тогда тг-бот будет чисто как быстрый доступ к эксельке. Прикольно. Но не знаю, насколько резонирует с проектом)

  Развернуть 1 комментарий

@m-danya,

купил кому-то что-то и он отдал и т.д

сообщения можно редактировать. Он отдал -- поменяй на 0.

прикольно было бы, если бы тг бот в качестве бд использовал spreadsheet

такой кажется уже есть и как-то смешно называется, может кто-то подскажет в комментах. Я не хочу это делать, мне кажется, что все хорошие вещи я могу и однажды сделаю прямо в приложении. Сделаю когда-нибудь экспорт в csv и кастомизируйте на здоровье.

  Развернуть 1 комментарий

@s-mage, понял)

  Развернуть 1 комментарий

Привет! Интересная идея. Жаль, что пока не потестить. Хотел запилить похожего бота для себя, поэтому спрошу про те фичи, которые задумывал сам:

  • Пока не понимаю, как бот видит сообщения о расходах. Он просто читает все сообщения в чате и обрабатывает их как транзакции? Есть ли возможность сделать чтение сообщений типа @bot -75 food? Тогда можно не плодить лишнее количество чатов: например, для той же поездки иметь ровно один чат с ее обсуждением и бюджетированием.

  • Были ли мысли добавить бюджет на месяц? Тут я проведу аналогию с приложением "Тяжеловато", которое я периодически использую.

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

Вижу здесь для себя пользу в том, что можно заранее видеть повышенные траты за сутки, чтобы потом ребалансировать средства на оставшиеся дни.

  • Планируется ли статистика по расходам? Какой-то простой вывод раз в неделю, например, что по таким категориям вы платите больше всех.

  • Вообще бот выглядит не особо разговорчивым и инициативным. Его надо спрашивать, не вышел ли за край бюджета, что там по балансу и т.д. Было бы здорово, если бы бот периодически писал (после транзакции, под конец дня/недели/месяца или еще какой вариант).

Ну и тут у меня возникла мысль, что рановато о монетизации сейчас думать. Пока это такой базовый бот, который где-то хранит мои данные (но сейчас пока лежит) и не особо ботит, но еще и за 5 евро месяц (первый месяц бесплатно). Имея свой список потребностей и удобств, я не готов тратить деньги на неудобный и недостаточный инструмент.
П.С. Не задумывал токсичить, принижать или обесценивать, просто тема очень откликается.

  Развернуть 1 комментарий

@loubeef, привет.

Жаль, что пока не потестить

Уже можно, fly.io вроде ожил.

как бот видит сообщения о расходах

Он читает все сообщения и выбирает те, что о расходах. Более-менее работает, если не писать сообщения не о расходах, начинающиеся с цифры.

Высчитывается среднее значение по тратам в сутки, от которого затем вычитаются транзакции, как и от общего количества средств.

Не будет ни за что. У всех приложений есть эта функциональность, и у меня от этого горит. Эта штука нужна исключительно для того, чтобы разгонять себе на ровном месте стресс -- ой я потратил на пять баксов больше и теперь на следующий день буду выбирать, остаться без завтрака или пойти на работу пешком. Я утверждаю, что вместо этого вам нужен маленький бампер, в который можно залезать в течение месяца.

Планируется ли статистика по расходам?

Есть команды /stat и /overbudget, но они с начала того, что я назвал финансовым периодом. Первая команда сравнивает запланированные расходы с фактическими, вторая показывает то, что потрачено сверх запланированного

бот выглядит не особо разговорчивым и инициативным

Это фича. Я выключаю нотификации всем приложениям, и если мне еще мой собственный бот будет надоедать, мне не понравится. Чтобы видеть свой баланс в реальном времени, наверное можно придумать запиненное сообщение и все время его обновлять. Оно есть у меня в планах, но таких, необязательных.

Вы могли заметить, что это opinionated бот. Я считаю, что личный бюджет не надо планировать до копейки. При этом его надо записывать до копейки, чтобы в следующий раз планирование прошло легче.

Сначала вы просто смотрите, как вы тратите деньги. В конце месяца смотрите на статистику и планируете следующий месяц. На следующей итерации смотрите, где ваш план был неточен, и делаете следующий.

Этот бот -- не ваш демотиватор, он ваш инструмент.

  Развернуть 1 комментарий

Прошел месяц, пора рассказать как дела.

Спасибо всем, кто попробовал. Я наловил багов и иногда фидбека, а кто-то даже пришел и обещал улучшить мне лендинг, но пока не улучшил, но все равно очень приятно.

Я заметно улучшил планирование и статистику и немного онбоардинг. По крайней мере, он теперь не сильно сбивает с толку. В частности:

  • Статистика влезает в экран телефона
  • Можно передумать посреди команды или начать заново
  • Можно редактировать план после начала финансового периода
  • Добавил советов
  • Добавил total в статистику
  • Переработал стартовые сообщения
  • Написал список вещей, которые меня бесят в других приложениях и не бесят в моем

Получил первый отзыв, который не предлагает ничего поменять!

Пока мне нравится больше чем экселька из-за того как легко в твой бот траты заносить

Написал себе маленький скрипт, чтобы понять, как люди пользуются приложением. Люди пользуются никак -- пробуют и уходят. Жалко. Если вы попробовали и ушли -- расскажите почему, чтобы мне было, от чего отталкиваться.

Такие дела:

:messages_today: 25
:messages_week: 163
:users: 148
:daily_active_users: 7
:weekly_active_users: 33
:not_new_daily_users: 2
:not_new_weekly_users: 3
:licenses: 126
:purchases: 2
:purchases_week: 0
:trials_expired_today: 3
:trials_expired_week: 26
  Развернуть 1 комментарий

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб