Луки по 5 баксов: история создания виртуального стилиста Lookberry. Часть 1
Привет! На связи Дима и Вика. Недавно мы запустили виртуального стилиста Lookberry и хотим поделиться историей создания нашего проекта. Надеемся, что кому-то это будет интересно или полезно. Поехали!
Для понимания нашего опыта: у меня 10+ лет опыта в качестве разработчика/тех. лида. У Вики 3+ года опыта работы в сфере fashion в том числе в качестве персонального стилиста.
Как пришла идея
Несколько лет назад случилось нам провести выходные в Венеции. Замечательный остров. Точнее архипелаг островов. Вдоволь нагулявшись по тесным улочкам мы стали собирать чемодан в обратную дорогу. И помахав ручкой на прощание заняли места в поезде, как вдруг Вика поменялась в лице. Смесь грусти, тоски и отчаяния я увидел в ее глазах. Поинтересовавшись в чем было дело, Вика ответила, что не хочет уезжать, а хочет остаться здесь жить. На что я в шутку сказал, что это не проблема и мы можем остаться. Но чем она планирует заниматься в этом городе не зная языка, культуры и местных законов? На что Вика на полном серьезе ответила, что это ее не сильно волнует и она даже согласна жить на вокзале. А зарабатывать будет оказывая услуги стилиста. А именно будет составлять стильные луки (образы) по цене - 5 долларов. Это очень дешево, но на хлеб должно хватать. При этом жить в таком красивом месте - это самое большое счастье в мире. Мне показалось это забавным и я предложил в следующий раз именно так и поступить. На этом и договорились. После чего благополучно вернулись домой и забыли эту историю..
Спустя пару лет вспомнилась эта история и мы здорово посмеялись. Я даже в шутку предложил подключить нейросеть, которая будет сама составлять луки и тогда самим можно будет ничего не делать. Вика вопросительно уставилась:
- А разве так можно? Ты не шутишь? Это же идея для стартапа! Может попробуем?
- Вообще-то я пошутил. Но в целом окей. Давай попробуем. Почему бы и нет.
MVP
Уже имея некоторый опыт работы в стартапах не хотелось сразу же в первый день бросаться писать код. Вместо этого вооружившись слабоумием и отвагой мы начали изучать ситуацию на рынке, прямых и косвенных конкурентов, а также просчитывать unit-экономику. Не сказать, чтобы цифры сильно впечатляли. Но даже несмотря на явную просадку fashion-индустрии из-за пандемии, интерес какой-никакой был и впереди, казалось, наш ждет голубой океан.
Опираясь на предыдущий опыт, решили сделать первую версию продукта супер простой - одностраничный landing page и анкета стиля. В анкете предлагалось ответить на пару вопросов, чтобы узнать предпочтения клиента.
И поскольку больше никакого функционала не было, после отправки заявки показывалась сообщение-заглушка. В этом сообщении было сказано, что продукт, к сожалению, пока не готов, но вскоре (после изучения спроса) запустится. При этом было также предложено поделиться ссылкой на наш сайт с друзьями, чтобы тем самым показать заинтересованность в нашем сервисе. Что в конечном счете помогло бы лучше понять потребность в продукте и быстрее запуститься.
Далее - рекламный кабинет, пару нехитрых креативов, кастоманя аудитория, конверсия в прохождение анкеты и минимальный бюджет - таргет в Facebook приятно удивил. Мы не получили много лидов. Но те что пришли, показывали конверсию в заявку - более 50%. Но самое приятное то, что многие копировали ссылку “поделиться с друзьями”. И это на сайт без малейшего функционала. Фантастика! Мы этого не ожидали, поэтому это было вдвойне приятно.
Но была и ложка дегтя: сама реклама заходила как-то очень туго. Показов много, а переходов раз-два. Кто-то вообще просто заходил на сайт, пару секунд и уходил. В общем какой-то супер уверенности и подтверждения нашей гипотезы востребованности мы не нашли, но при этом определенные позитивные сигналы были. По-крайней мере так показалось.
Свободное плавание
К концу 2020 года я осознал, что начал конкретно выгорать на основной работе. Каждый божий день - день сурка. При этом большая зона ответственности, приличная зарплата и не последняя роль на проекте. Но в какой-то момент это все стало не интересно. Проект перешел в фазу стагнации и больше не развивался. Все процессы поставлены, все майлстоуны пройдены. Имитировать бурную деятельность не позволяла совесть. В голове был только один вопрос: когда уже последний рабочий день?
И вот, наконец, пазл сложился: в конце года как раз заканчивался контракт и я, не став продлевать его, уволился с работы. Впервые за 10 лет меня можно было назвать официально безработным. От этого были смешанные чувства: облегчение и эйфория, и в то же время страх неизвестности. При этом внутренний голос подсказывал, что это уникальный опыт, который поможет вырасти в дальнейшем, в том числе как профессионалу.
В общем теперь стало гораздо больше свободного времени, которое решено было полностью посвятить новому проекту, а также саморазвитию.
Тестируем нейросети
К этому времени я уже прочитал пару книг по машинному обучению и нейросетям. Но до сих пор у меня не было релевантного опыта в этом деле. А здесь у нас как раз появился ряд задач, где необходимы нейросети. К примеру, для задач сегментации и распознавания категорий и атрибутов одежды.
И если с самими нейросетями проблем нет, то все, как обычно, упирается в данные для обучения.
Не сильно углубляясь в детали скажу что, для сбора необходимого набора данных был написан и запущен веб-crawler, который сканировал сайты магазинов с одеждой и выполнял поиск подходящих изображений для более чем 500 категорий одежды. Далее последовал этап очистки и дополнительной подготовки.
В конце концов собрав и подготовив массив данных из более чем 300 тыс. изображений мне удалось обучить несколько нейросетей для выполнения таких задач, как категоризация одежды, определение цвета, принта и некоторых других атрибутов.
А где же стиль?
Самая интересная часть в нашем проекте - это непосредственно формирование стильных образов. И чтобы понимать, насколько стильный тот или иной образ - необходим определенный способ оценки качества.
При этом необходимо учитывать, что мир постоянно меняется, меняются тренды, стили и вкусы людей.
Первоначально наша идея состояла в том, чтобы попытаться построить некую общую модель для этой задачи. Возник вопрос: где найти такие данные, да еще и в достаточном количестве, которые бы говорили насколько стильным является тот либо иной образ?
Подсмотрев идею в научных сообществах - я решил использовать старые наборы данных от polivore.com (ныне закрыт). Попробовал различные подходы к обучению и несколько вариантов архитектур нейросетей, в том числе мультимодальные. Но каждый раз результат разочаровал. Аккуратность, точность и другие метрики колебались в лучшем случае в пределах 50% от требуемого качества. Попадались как отличные образы, так и откровенно плохие. И с этим ничего нельзя было поделать. Любое изменение требовало переобучать нейросеть с начала, что крайне замедляло процесс тестирования и внедрения новых стилей.
Все это означало только одно - крайне сложно обучить нейросеть находить паттерны в слишком субъективном и вариативном мире fashion. Может потому что этих паттернов слишком много. Или потому что они постоянно меняются.
Да, нейросеть может научиться определять правильные цветовые схемы, сочетания категорий одежды и принтов. Но, к сожалению, этого не достаточно для того, чтобы сделать образ стильным и интересным. К тому же в какой-то момент определенные стили выйдут из моды и носить такое станет практически моветоном.
Но окончательно расставить “все точки над и” мне помогли мои друзья.
Показав им результат нашей работы я заметил, что наши стильные образы никого не впечатлили. Чего лукавить, нам самим они не слишком нравились. Окей, значит пора признавать поражение…
На этом первая часть заканчивается. Во второй части я расскажу про наш пивот, монетизацию, маркетинг, главные выводы и дальнейшие планы. Пишите в комментариях, стоит ли продолжать? Всем хорошего дня :)
P.S. Мы сегодня запустились на ProductHunt и будем очень признательны за ваши голоса.
Ссылка на ProductHunt: Lookberry
Ссылка на сайт: lookberry.io