Как мы превратили наш стартап и мобильные приложения из «Beauty Uber» в «Beauty Coworking»
15 марта 2023 г.Привет, ХакерНун!
Меня зовут Дмитрий Константинов. Я менеджер по продукту, и мне нравится разрабатывать мобильные приложения. Я в восторге от них и считаю, что некоторые вещи гораздо удобнее делать в мобильном приложении, чем на десктопе. Я подумал о том, какие из задач, которые я решал как продакт-менеджер, запомнились больше всего и почему. Ответом, без сомнения, будет «тот самый стартап».
В этом вступительном разделе много "Есть", так что речь лично обо мне. Но вся эта статья имеет структуру и заголовок со словом «Мы», потому что я прошел через этот опыт не один, а с командой.
Все мои размышления в этой статье — своего рода ретроспектива. Я проработал в этом стартапе чуть больше трех лет и давно его покинул. Последние обновления мобильных приложений вышли в последний месяц моей работы. Воспоминания о компании у меня исключительно хорошие, и мы вовремя попрощались друг с другом. Я попытался описать бизнес-моменты и технические проблемы, с которыми нам пришлось столкнуться. На скриншотах из приложения текст будет на русском языке, потому что приложение создано для российского рынка.
Эта статья также может быть интересна менеджерам, проектировщикам и инженерам. Начнем!
Команда
В стартапе при правильном менеджменте можно создать семейную атмосферу, когда по пятницам после работы заказывать пиццу с пивом и играть в Broforce (не все любят FIFA) на PlayStation.
Один из вопросов на собеседовании, когда я устраивался на работу в эту компанию, был, почему я ставлю в резюме определенную цифру в соответствии с ожидаемой зарплатой. Я честно ответил, что когда цифра была на 20% ниже, меня никто не звал на собеседования. После этого мы посмеялись, а чуть позже я принял предложение. Надеюсь, что я получил его не только из-за этой шутки.
Бывший технический директор сейчас ведет один из крупнейших IT-подкастов в РУ и развивает маркетинг в компании, которая является автором текущего основного языка Android. Бывший разработчик iOS написал известную статью о двух работах и иногда размышляет об «этом стартапе». Бывший разработчик Android работает в самой быстрорастущей британской компании FinTech и других компаниях. Наша команда была очень талантливой.
План A: приложение для клиентов (или «Beauty Uber»)
<цитата>Стартап – это компания, которая не понимает:
- Что это за продукт.
- Кто его клиенты.
- Как заработать деньги. – Дэйв МакКлюр, соучредитель 500Startups.
Первой идеей стартапа было создание двух мобильных приложений (подход «Mobile First»!) — одного для клиентов, покупающих услуги, и одного для работников индустрии красоты, которые эти услуги предоставляют.
Все внимание было сосредоточено на первом приложении. Оно было основным. Он имел гораздо большее количество экранов и создавался как основной и единственный способ органичного взаимодействия с сервисом. Органический пользователь — внешний пользователь, увидевший рекламу нашего приложения в известной запрещённой в России социальной сети. Приложение содержало каталог услуг и список салонов и рабочих. Сразу после оформления заказа потенциальный клиент мог обсудить все детали в чате с работником. Также можно было заказать услуги работника на дом (да, «убер» из названия не был кликбейтом).
У нас был небольшой отдел, который модерировал работников, которые хотели стать частью сервиса. Регистрация в приложении для работников была сначала через заявку на лендинге; позже мы добавили его в мобильное приложение для работников. Одним из преимуществ модерации рабочих является то, что мы сделали профессиональное фото каждого из них, и они очень круто смотрелись на экране выбора рабочих (да, я про вас, рабочего, который сделал селфи в машине и поставил на аватарку, когда мы добавили возможность ставить личное фото на несколько недель).
Мы монетизировали приложение для клиентов. Сначала у нас не было банковских функций, а была только возможность оплаты наличными непосредственно работнику. Что именно мы заработали? Мы брали процент с каждого заказа за приведение клиентов в рабочий. Рабочий подписал контракт, где обязывался вести себя хорошо, не жульничать и не делиться процентами. Теоретически работник мог поделиться личными контактами в чате, чтобы заказчик в следующий раз пошел напрямую к нему, минуя наш сервис, но это был необходимый риск, на который мы, как бизнес, должны были пойти.
У клиента было три варианта размещения заказа:
* Приходите в наш фирменный, очень дорогой и роскошный салон, который наш основатель недавно назвал "Spot" * Приходите в рабочий салон, который некоторые из них украсили прямо у себя дома с нашего разрешения. Что может пойти не так, если пользователь выберет эту опцию? Например: однажды я пришла к мастеру, муж которого сидел прямо в комнате в штанах напротив меня и смотрел какой-то мультик на большой громкости. (не рекомендую этот вариант) * Пригласите работника к себе домой. В заказ автоматически включалась дополнительная услуга с динамической ценой "Выезд на дом". Ближайшее доступное время рассчитывалось исходя из удаленности от центра города. У работника в приложении была возможность выбирать станции метро, куда он был готов приехать, а мы рассчитали около 1,5 км доступного радиуса от станции метро и не позволили сделать заказ дальше.
Чуть позже мы добавили возможность оплаты через банк пользователя прямо в приложении. В приложение работника мы добавили возможность загрузить карту для получения денег.
Давай на секунду перестанем говорить о бизнесе. Я обещал технические кейсы и вызовы. Итак, небольшой рассказ о самом типичном кейсе, который мы тогда решали.
Когда мы оформляли таблицу косметологических услуг в базе данных, мы не предполагали, что цена на окрашивание будет не фиксированной ценой, а дельтой. Причина в том, что ни работник, ни заказчик не знают, сколько расходных материалов (краски для волос, шампуня, кондиционера и т. д.) будет использовано в работе, поэтому заказчик всегда носит с собой больше денег, а работник сообщает им примерную дельту. Поэтому чуть позже нам пришлось добавить в API новый атрибут и добавить в мобильные приложения костыльное условие "сначала посмотреть туда, а только потом туда".
Вот еще одна история.
Нам нужно было реализовать возможность общения через мобильные приложения между работником и заказчиком. Написать и собрать SDK с нуля? Зачем беспокоиться, если вы можете взять решение из известного приложения для знакомств? Мобильные разработчики иногда мечтают о веб-сокетах. Мы тоже о них мечтали. Как сделать чат, который будет обновляться с каждым сообщением? Обновляйте чат с помощью push-уведомлений!
Ошибка
Пока все хорошо, правда? Ну, мы не смогли ответить на третий вопрос из цитаты, которую я упомянул выше. Сервис развивался недостаточно быстро. В той системе, которую мы построили, нам нужно было масштабироваться в тридцать-пятьдесят раз быстрее, чем мы, и только на гигантском обороте средств мы начинали приносить приемлемую прибыль. Это было невозможно сделать на рынке, на котором мы существовали. Поэтому было принято ключевое решение.
План Б: Приложение для работников (или «Коворкинг красоты»)
<цитата>Если план А не сработает, в алфавите будет еще 25 букв”.
– Клэр Кук, автор.
Пора остановиться и спросить себя, что у нас есть?
Два нативных мобильных приложения для iOS (для клиента и для работника), два нативных мобильных приложения для Android (для клиента и для работника), веб-лендинг для клиентов, сервер, CRM-панель администратора, которая еще не доделана , и, наконец, два фирменных очень дорогих и роскошных места! (Вариант клиента 1, помните?)
Если бизнес не может масштабироваться, то вам нужно развернуться! Когда бизнес меняется, это означает, что он меняет какой-то аспект своих основных продуктов или услуг. Компании могут изменить направление деятельности, чтобы лучше удовлетворить спрос клиентов, изменить свою целевую аудиторию, чтобы увеличить продажи, или и то, и другое одновременно.
Нам пришла в голову идея превратить наши споты в бьюти-коворкинги. Наша целевая аудитория изменилась с клиентов на работников. Сейчас рабочие — наши основные заказчики, но в статье я продолжу придерживаться старого наименования. Второстепенное приложение стало требовать значительных улучшений, поскольку теперь оно стало основным.
Аудитория рабочих гораздо меньше. Если для клиентов наш показатель MAU (Активных пользователей в месяц) измерялся тысячами, то для рабочих он исчислялся сотнями. Но у рабочих гораздо больше LTV (Lifetime Value), и с ними проще работать, потому что они приходят в салон и оказывают в нем все услуги.
Давайте подробнее рассмотрим, что у нас есть на данный момент в приложении воркера. Календарь с расписанием заказов, чатом, статистикой и возможностью управлять своим списком услуг и портфолио. Рабочий сам решает, какой заказ принять, а все принятые заказы отображаются в календаре. У мастера в первой версии приложения был очень упрощенный календарь, в котором он мог выставлять свободное время в том или ином салоне и видеть порядок в расписании.
Нам нужно было монетизировать приложение работника и масштабировать наш сервер до точки опоры бизнеса, значительно улучшив метод заказа через API, потому что большинство заказов в коворкинге — это бронирование стула на определенный период. Также нам нужно было доработать приложение клиента, изменив систему оплаты, потому что теперь он всю сумму платит работнику, а мы берем оплату с работника по ставке того, сколько часов он отработал на стуле.
Из приложения клиента убраны следующие опции: для клиента посетить работника в салоне (иногда дома, ха-ха) и для работника посетить клиента на дому (прощай, «бьюти-убер»).
Новые испытания
Развороты в бизнесе обычно не проходят гладко. В нашем случае ушла приличная часть команды разработчиков и менеджмента. К счастью, нам удалось нанять новых людей, которые еще не перегорели и хотели активно создавать, доказывать и развивать сервис и платформу.
С какими техническими проблемами мы столкнулись? Самым неожиданным вызовом было то, что пришедшие новые ребята не могли масштабировать код, написанный людьми ранее. Поэтому было принято непростое решение написать методы с нуля (а по сути и весь сервер), но в той структуре JSON API, которая использовалась до этого, чтобы максимально минимизировать изменения в мобильных приложениях. Мы спланировали работу, и я сделал диаграмму Ганта для мобильной разработки, которая основывалась на сроках в диаграмме Ганта для серверной части.
В какой-то момент мы поняли, что методы API сильно изменились, и это время совпало со временем, когда нас покинул последний Android-разработчик.
Совет! На одной платформе должно быть как минимум два разработчика, чтобы коэффициент шины не был минимально возможным (1,0)
Что мы должны были сделать? Инициативу проявил один фронтенд-веб-разработчик, но уже через месяц мы поняли, что у него ничего не получается, и решить эту проблему каким-то код-ревью не получится, потому что у нас не осталось специалистов по Android. Параллельно мы писали виджет для Интернета, который воспроизводил работу мобильного приложения для клиентов.
Страшная идея пришла сама собой, потому что другого выхода у нас не было. Мы создали приложение для Android, содержащее только WebView с нашим веб-виджетом.
<цитата>У меня есть ручка, у меня есть яблоко
А! Apple-Pen!
У меня есть ручка, у меня есть ананас
А! Ананас-ручка!
Пико-Таро, певец и автор песен
Развитие клиентов
Со сменой фокуса и целевой аудитории на другое приложение у нас появилась уникальная возможность пообщаться буквально со всеми мастерами, которые у нас были. Мы провели более 100 интервью. Мы изучили, почему они выбрали нас и что их оттолкнуло, прежде чем они пришли к нам. Паттерны мы увидели в интервью, и на основе этих паттернов сделали новый экран «Приветствие», где написали о преимуществах нашего сервиса исходя из опасений и потребностей пользователей. Скрин состоит из видео работ бьюти-индустрии и слайдера с нашими основными преимуществами. Да, я понимаю, видео на экране «Приветствие» сейчас не в фаворе, но 2019 год был расцветом вертикального видео и ТТ (тогда оно было под другим названием). Мы разговаривали с работником на этом экране без заглавных букв, но с эмодзи в стиле брендбука компании.
Какие страхи и потребности в обслуживании были у рабочих?
- Рабочие стулья в коворкинге будут грязными.
- На самом первом экране мы говорим, что наш сервис — это про «чистоту» и «комфорт».
- Необходимость приобретения расходных материалов, желательно по низкой цене.
- Договаривались с поставщиками и продавали материалы мастеру практически по оптовым ценам.
- Как и где встретить клиента?
- Покупателя встретит вежливый администратор и сопроводит к вам.
- Будет ли звонок с подтверждением после бронирования места в мобильном приложении?
-
Нет, мы являемся службой Mobile First. Бронируйте, вносите предоплату за 24 часа до начала выполнения заказа в мобильном приложении и приходите на работу.
У работников есть две возможности при размещении заказа:
- Бронирование (процесс бронирования показан на снимке экрана ниже)
- Заказ клиента (путем ввода номера телефона и имени). Заказ клиента, созданный в главном приложении, автоматически регистрирует клиента, если он не зарегистрирован в системе. Мы отправим этому клиенту SMS за день до заказа со ссылкой на мобильное приложение. В этом и проявляется преимущество подхода «Mobile First». У клиента такой же поток при регистрации и авторизации, а он вводит только номер телефона и код из СМС. Никаких логинов и паролей. Потрясающе!
Затем мы реализовали процесс адаптации для размещения первого заказа (на снимке экрана ниже).
У нашего основателя была идея, что мастер может "тянуть" временные интервалы в календаре (как в Календаре Google), чтобы выбрать желаемую продолжительность заказа. Лично мне понравилась реализация, аналогичная Apple Calendar, где можно легко изменить начало интервала, двигая пальцем, в то время как в Google Calendar палец «застревает» в первой точке, куда пользователь тапнул. Я и моя команда придумали то, что я считаю удивительным решением для индикатора выполнения, сочетающим в себе лучшее от Apple и Google Calendar. Индикатор выполнения заполнился чуть более чем за одну секунду. Вы можете увидеть, как это работает, на снимке экрана выше.
Резюме и заключение
Мы вовремя создали и успешно выпустили сайт и приложения. Нашим основным показателем успеха была общая занятость кресла, и этот показатель успешно рос. Все было хорошо и многообещающе, пока не пришел Covid. Почти вся ИТ-команда была расформирована. Позже со мной связался технический директор из ИТ-аутсорсинга и спросил о бизнес-части и архитектуре мобильных приложений. Скорее всего, планировали продолжить разработку, но, судя по отсутствию обновлений мобильного приложения, не получилось.
Вот как сейчас выглядят изображения приложения работника в App Store.
Сервис продолжает существовать и процветать. Вы можете видеть, что работники индустрии красоты все еще доступны для бронирования. Приложение WebView по-прежнему доступно в Google Play! (Гугл, у меня к вам вопросы)
В заключение хотелось бы отметить, что стартап — это отличная возможность для вертикального роста компании. Вы можете развивать свои hard и soft skills где угодно, но в стартапе вы можете повысить (или изменить) название своей должности. Я пришел в качестве тестировщика и очень быстро вырос до главы мобильного отдела и подчинялся непосредственно основателю. Если вы открыты и готовы много работать 24/7, то идите в стартап, а не в корпорацию.
Спасибо всем, кто дочитал до конца! Оставьте лайк и комментарий ниже - мне будет приятно.
Также опубликовано здесь.
Оригинал