Сделал бота для дележа расходов в Телеграме: сколько стоит, что с 152-ФЗ и как прошёл первый месяц
Зачем
У нас с друзьями почти никогда не бывает так, чтобы посидели один раз и сразу разошлись по переводам. Сходили поесть, кто-то заплатил за всех, скидываться на месте неудобно: кто-то без наличных, у кого-то деньги на другой карте, кто-то говорит «потом, за мной». Через неделю сходили в ресторан, платил уже другой. Потом кино, потом опять кафе и такси. Каждый раз мелочь, каждый раз «сочтёмся».
А дальше начинается то, из-за чего всё и сломалось. Один ждёт зарплату и переводит позже. Второй просто забыл. Третий отдал часть и уверен, что закрыл всё. Через месяц никто уже не помнит, кто за какой вечер платил и сколько там было. Открываешь переписку, листаешь, ищешь суммы, кто-то не помнит, скидывал он или нет. В итоге либо считаешь полвечера, либо машешь рукой и остаёшься в минусе.
Обидно, что задача-то простая, просто её никто не ведёт по ходу дела. Готовые приложения для этого есть, но все они требуют, чтобы приложение поставили все участники. На практике половина компании не ставит ничего, и всё разваливается на первом же человеке.
Поэтому я сделал ЧекСплит внутри Телеграма: мини-приложение открывается по ссылке, ставить и регистрироваться не нужно, бота можно добавить в общий чат компании.
Внутри три вещи, которые и составляют всю ценность:
- Чек по фото. Позиции распознаются сами, дальше отмечаешь, кто что ел, и общее делится поровну.
- Минимум переводов. Встречные долги гасятся: если Аня должна мне, а я должен Максу, Аня переводит сразу Максу. На примере ниже вместо 14 переводов остаётся 5.
- Итог картинкой в чат. Всем видно одну цифру, и вопрос «а сколько с меня» отпадает.
- Возвраты с подтверждением. Отдал деньги - нажал «Я отдал», получатель подтвердил. Видно, кто уже рассчитался, а кто ещё нет, и спор «я же переводил» заканчивается, не начавшись.
Из чего складываются расходы
Главный страх при запуске был в том, что распознавание чеков окажется неподъёмным. На деле расходы распадаются на три части, и пугает совсем не та, на которую думаешь.
- Распознавание чеков. Зависит от выбранной модели, от того, сколько в чеке позиций, и от того, насколько подробно модель отвечает. Прайсы меняются, а модель можно поменять на другую, и порядок цифр поменяется вместе с ней. Важно другое: этот расход надо считать самому, строкой на каждый чек. У провайдера всё сложено в общий итог за сутки, и без своего учёта не понять, вырос расход из-за новых пользователей или из-за того, что модель стала болтливее.
- Сервер. Постоянная величина, которая не зависит от числа пользователей, пока их мало. Это и есть основная статья расходов.
- Всё остальное. Ноль. Телеграм бесплатный, домен не нужен, сертификат бесплатный, зависимостей в коде нет вообще, поэтому нет и платных сервисов вокруг.
Вывод неожиданный: пока пользователей немного, стоимость сервиса определяется не тем, сколько раз им воспользовались, а тем, что сервер работает круглые сутки. Дорого тут только время разработчика.
Роскомнадзор: часть, про которую все забывают
Как только вы обрабатываете имена и фотографии людей, вы оператор персональных данных. Это не формальность: штрафы за работу без уведомления в последние годы заметно выросли, и касается это не только компаний.
Что пришлось сделать:
- Уведомление в РКН об обработке персональных данных, до начала работы.
- Отдельное уведомление о трансграничной передаче, потому что фотография чека уходит на сервер модели за рубежом. Его рассматривают быстрее основного, но в нём нужно указать конкретные страны.
- Разделить согласия. Нельзя собрать одну галочку «согласен со всем». Согласие на показ фотографии профиля и согласие на распознавание чека это два разных действия в двух разных местах.
- Написать политику обработки и выложить её по ссылке, доступной из приложения.
Заняло это примерно столько же времени, сколько сама функция распознавания чеков. Подавать уведомления можно через личный кабинет на сайте РКН, госпошлины нет. Сроки рассмотрения считаются в рабочих днях и растягиваются на месяц.
Если вы делаете маленький сервис с именами пользователей внутри, это касается и вас. Многие узнают об этом, когда приходит письмо.
Что я понял про первых пользователей
Дальше начался маркетинг, и тут выяснилось, что делать сервис было проще.
Первый пост про проект я написал в формате истории, с красивыми картинками-слайдами и ссылкой в тексте. Модерация сняла его как рекламу, и, если честно, по делу: слайд с крупным заголовком и перечислением функций читается как баннер, даже если проект бесплатный.
Что из этого следует:
- Скриншоты лучше слайдов. Обычный экран приложения выглядит честно, а оформленная картинка сразу включает у читателя защиту от рекламы.
- Ссылка в теле поста работает против вас. Лучше в комментарии или в профиле.
- Комментарии важнее самого поста. Живые ответы автора меняют отношение сильнее, чем текст. Из комментариев, кстати, я узнал, что мой алгоритм это ровно клиринг в платёжных системах: считаем нетто-позицию каждого участника и двигаем деньги только по итогам.
Пришло с того поста два человека, один из них завёл компанию и записал траты. По цифрам ноль, по опыту полезнее недели чтения советов про продвижение.
Что дальше
Аналитика в сервисе теперь своя: у каждой ссылки на бота есть метка, и на отдельной странице видно, сколько человек пришло с каждой площадки, сколько из них завело компанию, сколько записало хотя бы одну трату и скольких друзей они привели за собой. Дальше буду публиковаться там, где такие истории уместны, и смотреть не на переходы, а на долю тех, кто реально что-то посчитал.
Сервис бесплатный, переписку в чате бот не читает: видит только свои команды и нажатия своих кнопок.
Ссылка: t.me/chek_split_bot
Отдельно интересно мнение тех, кто запускал маленькие сервисы: что у вас сработало для первых пользователей, и подавали ли вы уведомление в РКН до запуска или после первого письма?