Расскажите о сути проекта?
Совместный трип с друзьями. Кто-то снял жилье, другой съездил в магазин и закупился. Ленка вон вообще оплатила счёт в кафе за всех. Как будем считать финансы? Мы же не дикари, чтобы пользоваться калькулятором и бумагой. Да и отдельное приложение ставить неудобно. И тут - ОН. Бот для учёта трат в телеграме, который решит вашу проблему.
Идея в том, чтобы сделать добавление групповых расходов наиболее простым для всех участников.
Вводные:
- У вас уже есть чат в телеграме, где вы кидаете мемы и синхронизируетесь
- Все умеют печатать текст и отвечать на сообщения
Готово, этого достаточно, чтобы использовать Splitsheet. Splitsheet - это динамическое сообщение в телеграм чате. Такой финансовый отчёт в миниатюре, содержащий историю трат и информацию кто кому должен. Если запинить, то будет вообще удобно. Добавление трат - исключительно через реплай на Splitsheet. Не нужен строгий формат, предзаданные категории, ничего. Только суть, дальше LLM разберётся.
Я отвечаю на Splitsheet:
- супермаркет 1340 - значит делим на всех поровну, я платил
- купил Васе попить 230 - Вася задолжал мне 230
- Вася купил мне и Роме билеты по 120 каждый - Тут уже я и Рома должны Васе по 120
Бот анализирует каждый ответ и искренне пытается понять, что имелось в виду. Если требуются изменения, можно отредактировать сообщение, либо же внести изменения ответом на сообщение с расходом.
- пиво 450
- ой, правильно будет 500
- а вообще удали, это я себе покупал
В итоге все расходы будут сведены в одну табличку, подсчитано, кто кому сколько должен. Как бонус - расходы будут сохранены в виде реплаев на сообщение, и в случае если бот скончается - всё останется в чате.
Разберём на примере
Скрины делал максимально искусственные и безличностные, сорри. Но суть передают
- Вид на Splitsheet сообщение. Кто-то отвечает на него новым расходом, Spa Anna and me 75
- Хоп, Splitsheet обновился, отражая свежий расход
- Если нажать кнопку More, откроется Mini App с подробностями
- Тут есть полный лог изменений и детали по каждому расходу
Как появилась идея? Что вдохновило?
2023 год, рождество, 80 километров от Риги, дом посреди ничего. Внутри светло, 7 человек устраивают праздничную суету.
- "Тэкс, как деньги считать-то будем?"
- "Слышал есть приложение Splitwise, туда всё забъём"
- "А ок, хорошо"
Следующий день:
- "В смысле только 3 расхода в день, FUUUU"
Потный Валенсийский август 2024. Боль от несовершенства мира всплыла вновь. Я могу сделать как они, но лучше. Оо, мне пришла гениальная новаторская идея, это будет бот для учета трат, а не приложение. Быстрый тест аналогов, всё неудобно и не то.
/команды
, Mini Apps не к месту, добавление расхода - это несколько действий. Надо делать своё.
И вообще:
Что вошло в прототип и сколько времени на него было потрачено?
Первый POC был написан буквально за 3 дня. Опробован в двухнедельной поездке. Вносить траты прям в чатике показалось суперудобно. Правда один человечек до сих пор не может дописать свои расходы, но не будем записывать это в минусы подхода.
Потом я захотел сделать ХОРОШО, ну вот прямо чтобы удовольствие сочилось. И потратил суммарно где-то часов 100 на разработку. Текущая версия - это ХОРОШО в моей системе координат.
Какой технологический стек вы использовали? Почему?
Хостим - Cloudflare (Workers, Pages, D1)
Serverless, просто берёт и всегда работает. Деплой за 15 сек не выходя из редактора (мерзко приятная штука).
Язык программирования - TypeScript
Классненькая система типов, нравятся подсказки в редакторе когда не надо думать а просто из списка выбираешь что дают. Можно использовать и на фронте, и на беке. По-настоящему hot reload даже бекенд части.
По фреймворкам и либам:
- SvelteKit - фреймворк для UI. Приятный и предсказуемый, мне как бекендеру работать одно удовольствие. Быстрый без лишних заморочек, что важно для Mini App
- Tailwind - CSS фреймворк. Вместе с плагином для VS Code и prettier выглядит как лучик надежды в царстве CSS. Искренне не понимаю, как можно его НЕ использовать
- grammY - ТОП 1 библиотека для работы с Telegram Bot API из TypeScript. Минимально тоненький слой абстракции, но с превосходными TS типами и всеми нужными точками расширения
- Hono - Web framework. Легкий во всех смыслах
В качестве LLM использую OpenAI API. Да да, АЛЕРТ, все ваши сообщения отправляю прямиком туда. В целом работать с LLM в таком ключе показалось очень любопытным и вознаграждающим процессом:
Пара примеров:
- Так, я знаю что LLM слабы в математике но чтобы ВОТ НА СТОЛЬКО. Ага, создаю инструмент calculator, говорю LLM, используй вот его для рассчетов когда надо. И она ИСПОЛЬЗУЕТ
- Вижу, что иногда происходит путаница во всяких не примитивных случаях. То неправильно поймёт кто платил, то выдумает что-нибудь. Решение - отдельным действием просим подробно расписать, как было понято сообщение. Затем отдаём этот разбор вместе с калькулятором дальше на обработку. Сразу напомнило меня. Тоже без плана могу понести околёсицу
Как вы запускались и искали первых пользователей?
Затестил adsgram.ai, реклама в Mini App. Потратил на показы 5 USDT, получил в районе 250 пользователей, которые нажали start. У большинства дальше чтения приветствия дело не пошло.
Рассказал о своём проекте на https://productradar.ru/. Респект авторам площадки, за саму идею и постройку сообщества вокруг. Учитывая, что я просто разместил объяву и отошёл, размещение дало 26 переходов.
Загуглил пару каталогов с TG ботами, тоже туда запостил описание и ссылки. Это дало ещё 3 перехода (подозреваю, что от авторов каталогов).
Официальный Telegram Apps Center принял мою заявку на добавление, но скромно предупредил, что время рассмотрения - 2 месяца.
С какими самыми неожиданными трудностями пришлось столкнуться?
Основная - что этот проект нужен только мне. Оказывается, не так просто рассказать о себе людям, и убедить их начать пользоваться
Сколько потратили и заработали? Есть идеи как это можно монетизировать?
Потратил:
- $10 на recraft.ai, чтобы сгенерировать аватарку и другие изображения
- $10 на домен в зоне .com. Думал сделать лендинг но забил, лежит без дела
- $5 на рекламу в adsgram.ai
- $10 на баланс OpenAI. Должно хватить надолго
Заработал:
- Прекрасный опыт
Монетизацию добавил сразу, в виде ограничения на 10 записей в одном Splitsheet, и возможности за звёзды снять ограничение на определенный срок.
Заключение
Я спрашивал совета в чате индихакеры, и запомнил один ответ (суть примерно):
Со старта помимо самой идеи надо иметь представление о местах обитания потенциальной аудитории твоего продукта и о действенных способах рассказать аудитории про продукт
Согласен на 100%. Каким бы приятно техническим не было приложение, оно не представляет ценности, когда им никто не пользуется.
Дочитавшему - ссылка.
https://t.me/splitsheetbot?start=vas3k
Переходи по ней, и если твой TG аккаунт привязан к активной учётке в клубе, все твои Splitsheet будут месяц работать без ограничений по кол-ву расходов. Да, речь идёт про месяц на каждый Splitsheet, так что потом можно просто создать ещё один, а потом ещё, и ещё
Все, я переименовываю раздел "Проекты" в Клубе в "Аппы для трекинга трат"!
P.S.: Хотя с миниаппом это даже наконец-то выглядит весьма привлекательной заменой splitwise, пойду попробую
С учётом того, что в сплитвайзе я никогда не сталкивался с ограничениями (и только из твоего поста узнал про три в день), могу сказать, что меня бы твоя модель точно оттолкнула в объятия сплитвайза) с другой стороны, десять — прикольно, люди начали вносить расходы, инвестировали время. Не думал использовать другие пороги? 5/20 записей, 2 недели после первых пяти записей, что-то ещё?
По идее, твоя задача, раз уж ты хочешь монетизировать любого вовлечённого пользователя, а не только тех, кто вовлечён сильно (как это делает сплитвайз), найти этот баланс между бесплатным использованием и хорошим вовлечением.
А ещё ты монетизируешь per user или per channel?
Вот это прикольно, что из пяти человек он на двоих это считает. Мой так не умеет (разумеется у меня тоже есть бот, чтобы считать в нем деньги), надо может своровать. Вижу тут расходы, имена и сумму. Ладно сумма, а как отделяешь имена от категории?
А если имя ебанутое типа
vas3kNagibator7777, его надо каждый раз писать? А если два Олега в одном чате?Тоже считаю клевой заменой для SplitWise.
Теперь осталось поехать куда нибудь, чтобы затестить)
Юзаю splitwise уже очень долго, далее не критика, а скорее пожелания
Очевидно: не все в тележке, люди за границей часть используют вацап, миниэпп жестко привязывает именно к тележке, а то что надо еще и какие-то звездочки ...
контакты участвуют в разных поездках, а в данном случае это значит разные чаты и тп
в сплитвайзе у меня есть записи которым уже годы, например я попросил человека оплатить мелочь в РФ (у меня нет карты РФ), когда-то я ему оплачу что-то и мы зачтемся
финансовый апп который ошибается в подсчетах - это совсем никак совершенно точно нельзя
Я б перешел на аналог сплитвайз, одной из фишек которого было бы подхватывать расходы из чатиков
PS 3 расхода в день - не сталкивался, показывает рекламу платной версии но потом все равно можнро добавить ..
бета-тестеров нанимаете? оплата небольшой поездки небольшой группе.
с нас отчет по ux и освещение с социалках =)
Огонь, мне кажется оч удобно! Буду тестить)
Пока нашел маленький баг, бот триггерится на все реплаи в чате, не только на реплаи в его сторону
AAAAAAWWWWW
уже три года плачу за домен для своего подобного приложения
но разработка чот не ушла дальше кривой мвпшки, все равно компаниями продолжили юзать сплитвайз, а сейчас перекатились на сеттлап
Прикольная идея, тоже думал, зачем лишнее приложение, если все друзья и так в телеграме
Но в splitwise, кстати, ограничение на 3 транзакции только на фронте. В результате для меня оказалось, что написать в 50 строчном сli
sp add sasha 50 beer
намного проще. Теперь только так и пользуюсь :)