Проект: Записки каршеровода  Публичный пост
6 июня 2021  1391
Записки каршеровода
https://t.me/carsharingCarRatingBot

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

Всем привет!

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

Карточка автомобиля может выглядеть примерно вот так:

Карточка автомобиля
Карточка автомобиля

Как появилась идея? Что вдохновило?

Каршеринг добрался даже до нашей глубинки —до Новосибирска) Оказалось, что это чертовски удобно, когда ты можешь спокойно взять машину на 1 час, съездить куда тебе нужно и припарковать машину, где тебе удобно. После про нее уже можно просто забыть.

Все началось с желания не попадаться на плохие машины в каршеринге. Завели список в Google keep, чтобы можно было его совместно с женой пополнять. Это выглядело как-то так:

Домашняя база машин
Домашняя база машин

У такого подхода сразу несколько минусов:

  • Сложный поиск.
  • Нет какого-то единого формата, чтобы можно было удобно воспринимать информацию.
  • Нет фоток.

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

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

Но в первую очередь я решал именно свою задачу: мне и моей жене хотелось ездить на хороших машинах в каршере.

Что вошло в прототип и сколько времени на него было потрачено?

Конечно же первой мыслей было — хочу супер-дупер веб-апку, чтобы PWA, чтобы крутая авторизация, чтобы много еще всякого «чтобы». Я что, не инженер?)

Все же здравый смысл возобладал над инженерным безумством у меня в голове. В итоге я принял решение: сделаю только какой-то базовый API, а в качестве UI — Telegram-бот. Про стек уже подробнее ниже.

Всю работу я разделил на 4 этапа:

  • Задачи до первого закрытого релиза, который я покажу нескольким хорошим знакомым, кто пользуется каршерингом.
  • Правки после первых отзывов о боте, доработки по фичам до публичного релиза.
  • Публичный релиз.
  • Реализация всего того, что не успел сделать ранее.

Начал я работу с того, что нарисовал все сценарии работы с ботом в Excalidraw. Получилось примерно так:

Сценарии работы с ботом (лучше не всматриваться в текст)
Сценарии работы с ботом (лучше не всматриваться в текст)

Такая схема здорово облегчила дальнейшую разработку. Рекомендую!

Какой технологический стек вы использовали? Почему?

Как я уже отметил ранее, в качестве UI был выбран Telegram. Это оказалось отличным решением, так как решалось сразу несколько задач:

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

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

«С этим вопросом я вышел в интернет». Тут все оказалось достаточно просто. Google → «nodejs telegram framework» → открываем первую ссылку. На первом месте был telegraf.

В качестве хранилища данных выбрал PostgreSQL, так как ранее работал с этой БД + она мультипарадигменная: хочешь — клади JSON, хочешь — строй реляционную модель.

Ну и все это писалось на TypeScript. Люблю, когда есть типы)

Сразу назову NPM-пакеты, которые вам точно пригодятся:

  • telegraf-throttler Пакет наобходим, так как имеются лимиты по отправке сообщений ботом. Либо можно сделать свой сервер для бота, но это уже не совсем простая история.
  • telegraf-session-local Must have, если у вас есть какие-либо сценарии с контекстом. Например, добавляет пользователь отзыв. Добавление состоит из нескольких шагов: кол-во звезд и текст отзыва. Вот пользователь дал оценку в звездах, а вы в этот момент перезапустили бота. Бот уже не будет знать, что пользователь находится в стадии принятия текстового отзыва. Чтобы этого избежать, текущий контекст можно сохранить с помощью telegraf-session-local.

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

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

Запуск был в два этапа. Сначала я показал бота своим знакомым, кто активно использует каршеринг. Ребята сразу предложили упростить некоторые вещи, например, сделать добавление отзыва всего в 3 шага (звездочки, текст и фото), вместо 7 шагов. Провели вычитку текстов) У меня даже была отдельная задача, вычитать весь текст перед публичным релизом. Но ребята справились сами.

Собственно они и были первыми пользователями. Пока ребята тыкали бота, добавляли отзывы/фотки выяснилось несколько проблем с ботом. Например, из особенно интересного: если вы захотите отобразить несколько фотографий в одном альбоме, то придется разбивать эти альбомы на пачки по 12 фотографий в каждом. Я вот плохо прочитал об этом в доке к API телеграмма, и бот сломался после добавления 13 фотографий).

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

С какими самыми неожиданными трудностями пришлось столкнуться?

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

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

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

Сколько потратили и заработали? Есть идеи как это можно монетизировать?

Потрачено 5 дней разработки + 5$ на сервер (пока что 5, так как бот только месяц существует). Заработано 0$. Но отзывы из бота уже позволили мне один раз не взять машину с плохим кондером в жару. Если честно, этот факт греет куда больше, чем заработанная копеечка. Хотя и копеечке я был бы рад).

Идей, как заработать пока особо нет. В идеале замутить бы какую-нибудь коллаборацию с операторами каршеринга в РФ и не только.

Какие планы на будущее?

Технологически:

  • Сделать извлечение фактов из отзывов (Привет Томита-парсер).
  • Приложения для Andorid/IOS. В одном из телеграмм-каналов про каршеринг нашелся разработчик под мобильные платформы, который согласился сделать первую версию. Просто у него эта идея тоже была в голове уже. Решили объединить усилия.
  • Создание полноценного API.

Продуктово:

  • Собирать отзывы/фото машин. Привлекать аудиторию.
  • Попытаться как-то связаться с операторами каршеринга в РФ. Может что-то из этой связи выгорит полезное.

Нужны ли какие-то советы или помощь Клуба?

Еще как!

Во-первых, заходите и добавляйте отзывы/фото каршеринговых машин)

Во-вторых, что посоветуете по развитию комьюнити, как мотивировать других людей писать отзывы?

Один из первых тестеров бота сказал, что стал бы пользоваться ботом всерьез, когда он бы стал 1000'ным пользователем бота. И вот совсем не понятно, как этого достигнуть.

Какой совет вы бы сами могли дать идущим по вашим стопам?

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

Telegram-бот как UI к проекту — это дешевое решение для проверки идеи. Не пробовал еще Zero-coding, может там было бы так же просто все сделать, стоит и в эту сторону посмотреть.

32 комментария 👇
Иван Овчинников Системный аналитик 8 июня 2021

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

в моем сценарии (в Москве) до ближайшей тачки часто топать надо, и берешь просто ту, которая ближе

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

@eewahn, интересно, что в Швейцарии другая ситуация: каршеринговые тачки стоят на парковках и там их обычно больше одной, так что вполне можно выбрать лучшее из предлагаемого.

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

@zahhar, Кирилл, а есть какие-нить агрегаторы европейских каршерингов? Может стоит бота на них тоже распространить?

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

@ArtemMalko, вот про агрегаторы каршерингов ничего не знаю. Каршерингом в Европе я только в Таллинне пользуюсь, т.к. знаю родной город, а машины там нет. Телега в Эстонии тоже очень популярна, а риски попасть на убитую тачку тоже есть — так что твой проект может зайти очень даже.

А вот в Швейцарии наоборот — с одной стороны, тут (почти) нет проблем со стабильно высоким качеством машин, а во-вторых, насколько я могу судить, телега в разы менее популярна Ватсаппа и уступает даже переприске в ФБ/Инсте, то есть находится где-то на одном уровне с Сигналом.

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

@zahhar, понял, брошу свой взор на Эстонию тогда) Спасибо

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

@eewahn, ого, это весьма неожиданно) Я больше от ребят в МСК получал feedback, что наоборот машин в МСК много, типа мне не особо нужно заранее знать. Не понравится — просто другую сразу возьму.

А про какой район Москвы идет речь? Или тут в принципе так попадается, что машин мало?

А по поводу того, что рядом должна быть хорошая — это вовсе не обязательно. Увидел в отзывах, что машина прям убитая внутри, а вы в костюме едете. Сразу принимается решение — не, поеду на таксо тогда)

Вообще, сценариев может быть много.

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

😱 Комментарий удален его автором...

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

@GMCLJvDxYsAU2MMV, согласен со всеми мыслями.

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

  Развернуть 1 комментарий
alex konstantinov Менеджер проекта 8 июня 2021

А разве комментарии про тех состояние авто не перестанут быть актуальными после ТО через N дней?
особенно если речь идёт о спущенном колесе и пустом баке омывайки.

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

@alexk, так ведь дата комментария известна и комменты можно скрывать по прошествии тех семых N дней. Тут придётся экспериментально установить, возможно N будет разным для разных фирм и городов, но точно комменты актуальны в течение примерно первыз 24-72 часов.

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

@alexk, Захар хорошо ответил)

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

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

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

Но если есть какие-то идеи — с радостью готов выслушать)

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

😱 Комментарий удален его автором...

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

@GMCLJvDxYsAU2MMV, хм, а это интересная мысль в целом) Так то и сами операторы каршеринга в этом заинтересованы могут быть.

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

@GMCLJvDxYsAU2MMV, а что, так можно? Типа, я пишу в чатик Я.Драйв "Хочу купить у вас вот этот Polo", а они мне "Без проблем, плоти долор"?

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

😱 Комментарий удален его автором...

  Развернуть 1 комментарий
Maximus Электрический инженер 8 июня 2021

Хех, глянул - классно! :)

Только вопрос: а подразумеваются пока только российские авто? :)

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

@Maximus, как выяснилось с @zahhar, уже можно масштабироваться в Эстонию)

А есть какие-то предложения?)

  Развернуть 1 комментарий
Сергей Буглаков iOS developer, мистер "шило в жопе" 23 июля 2021

Привет, Артём! Неделькой назад попробовал бота, есть предложения уменьшить количество кнопок и подтверждений. Щас надо много действий сделать, чтоб добавить фотку-комментарий, потом ещё подтверждать конец фоток.. В идеале видел бы чисто отправку номера, фотку и коммент, а бот бы просто это всё добавил. То есть happy path минимумом действий, а если что пошло не так – то да, кнопки в помощь. А так – прикольно, конечно)

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

@ReDetection, ку)

Фотку уже сразу можешь добавить) Пока не рассказывал об этом в боте. Про коммент — думаю, как сделать лучше.

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

Спс, что пользуешься)

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

Интересно, насколько в Новосибе все плохо с каршером, что понадобился такой бот. В Питере у Я.Драйва и кашкаев Сити(You)драйва 9/10 машин в хорошем состоянии, они их постоянно обслуживают, а Делимобиль и остальные модели Сити бывают похуже. А вот например в Москве у Я.Драйва куча обтесанных машин, они их не ремонтируют, если не критично.
Так что для меня (хоть я и активно каршерю) сценарий использования бота выглядит совершенно излишним.

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

@treboit, забавно, но вот как раз @eewahn ниже пишет про обратную ситуацию)

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

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

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

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

@treboit, ну так да) Либо наоборот, если его машины будут в хорошем состоянии. В любом случае выигрываем мы — пользователи каршеринга.

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

@ArtemMalko, 'наоборот' вряд ли будет работать, в том-то и дело. Если я смотрю машину, значит, я уже готов ее взять (она ближайшая, например). Если инфы по состоянию нет - я ее беру в 100% случаев, а если есть, то в 90% (в 10% увижу, что что-то не так и возьму другой каршер). Выиграет каршер с лучшими машинами, только если все операторы будут показывать состояние и пользователи будут перетекать к более качественному (сейчас это и так происходит, но чуть менее системно). То есть, с точки зрения теории игр, операторам невыгодно показывать состояние машин, пока это не сделали все остальные операторы, а к этому они не могут прийти, потому что кому-то первому придется оказаться в невыгодной ситуации. Ну или если твой бот станет настолько популярен, что у всех и так будет эта инфа.

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

@treboit, полностью согласен. Тут мы только все вместе сможем повлиять на ситуацию. Поэтому бот и не аффилирован каким-либо каршеринговым оператором.

Кароч, верю в сообщество)

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

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

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

@treboit, спасибо)

А что стоит доделать/изменить, чтобы желание воспользоваться появилось?

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

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

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

@treboit, эх, согласен. Будем работать над этим)

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

@treboit, Нижний Новгород. Имеется только Делимобиль. Давеча как вчера пытался взять Поло - так у него юбка бампера оторвана и под тачку завернута. Пошел в соседний Солярис, у него пробега 160к, кондиционер не холодит (на улице +30). Вечером взял новый Солярис, с пробегом 26к. Он закипел через две минуты поездки.

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

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

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

@Floppycatman, пиши отзывы в боте, чтобы на эти машины не нарваться)

  Развернуть 1 комментарий
Dima Himi BizDev для стартапов / PO Lubretto 14 июля 2021

Пока что вижу (со своей колокольни) что проект создан без исследования спроса, ЦА, сценариев использования, понимания модели монетизации и масштабирования. Это конечно не оч хорошо, особенно если спрос на сервис будет расти (а вместе с ним вырастет нагрузка на поддержку сервиса и хз как её оплачивать, если монетизации нет). (Но может оно где-то скрыто под капотом, просто не видно тут этого).
Вижу, что модель тут или на донатах жить, или с кем-то договориться из операторов о чём-то. Типа если там вообще пиздос с машиной, то быстро давать оператору об этом фидбэк, чтобы они быстро чинили тачку, а она не стояла мёртвым грузом на месте, дожидаясь плановой проверки.
Например, зимой этой, в Москве была жопа со снегом и очень много тачек оказалось под снегом или заблокировано сугробами нахрен. По карте этого не видно было, конечно. И ты как лох бегал по тачкам пытаясь не нарваться на "снежок", в котором ещё и щёток нет. Операторам бы такая инфа пригодилась точно, так как тачка стоит = оборота по ней нету. Чем быстрее её починят, тем быстрее она продолжит приносить бабки компании снова. То же с заблокированными тачками: если она вдруг оказалась заперта другими машинами, за забором, или внезапно в таком месте, откуда её можно только вытащить тросом. Ну и как выше писал, если там жопа и на ней никто не поедет, а оператор догадается о проблеме только после 5 броней и отказов на одной и той же тачке. Типа колесо сдуто, разбито в щи стекло, в машине не работает что-то критическое (типа фар ночью - у меня такое было).
Ещё, может быть, подумать над историей с паркингом, когда тачки ставят на инвалидные места и это усложняет жизнь не только людям, кто туда их поставил, но и компаниям каршеринга. Но это всё мои гипотезы, так что лучше это верифицировать на бОльшем количестве людей.
Тут можно потолковать с операторами про монетизацию (сколько они готовы платить за оперативность такой инфы)...
Но если подумать шире, то в идеале, лучше бы пойти запартнёрится с продактом хорошей каршеринг-компании и вместе придумать какое-то решение на базе того что есть (правда, может быть такое, что придётся "к хуям" перепилить в итоге то что есть), чтобы оно было и полезно и денежку приносило.
ПыСы из хз нужной ли фичи: я бы точно добавил распознавалку номеров и внесение их в базу по фоткам (если этого нет), чтобы сразу можно было инфу вносить в базу себе и отправлять её оператору.

Коротко про свой опыт использования каршеринга: Москва, 4 компании каршера, в Питере брал пару раз каршер местный, езжу активно на каршере 1,5 года.

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

@dimahimi, все правильно расписал)

Запартнериться было бы прям круто. Но с текущими объемами совсем никому я не буду интересен(

А так, у меня полностью мысли сходятся с твоими)

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

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

@ArtemMalko, обычно там проблема большая и явная. И ты как бы решаешь, стоит ли тебе связываться с тачкой вообще или лучше найти другую / вызвать такси. Например, у одной тачки не работал ближний свет, у какой-то зимой не работали дворники (вернее, не было резинок на дворниках), у какой-то тачка была настолько везде зацарапана, что приложение не давало заснять все повреждения (так как их было слишком много).
Но обычно:

  1. вряд ли ты встретишь ту же тачку в своей жизни, только по очень случайной случайности (кроме тех случаев, когда ты поставил её, и следующий водитель - ты же)
  2. проблема существует до проверки тачки (кто-то выше писал про это). Иногда бывало такое, что указанных царапин на фотках не было, в силу того, что там уже всё исправлено (а в базе старые фотки)
  3. всякие мелочи - ты на них забиваешь, обычно. Не работает кондей, засраный салон, переднее стекло грязное и брызговики с дворниками не работают. То есть у тебя тут выбор: искать другую тачку (и тратить на это 10-15 минут), либо ехать так. Чаще всего ты едешь так, так как тебе ехать минут 30-40, и смысла нет прибавлять к этому времени 50% ещё на поиски другой тачки. А если тебе ехать часа 2, то да, ты будешь заморачиваться комфортом побольше. Но даже в Москве это редкие случаи, когда ты берёшь тачку на 2 часа, потому что это стоит дофига.

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

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

😎

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

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


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