Привет Хабр, в этом посте я хочу поделиться историей своего стартапа/пет проекта/сайд хастла. История началась когда я встретился со своим другом/сооснователем и у него, как у меня, было жгучее желание сделать что нибудь такое-эдакое. Это вылилось в 3 месяца работы по ночам и проект на котором удалось заработать обещанные в заголовке $300. Добро пожаловать под кат!
Сентябрь: идея
Когда я был молодым и наивным мне казалось что можно делать и преуспевать в чём угодно. Однако с опытом, оказалось что найти хорошую идею та ещё задачка, особенно если вы планируете как-то ее коммерциализировать. Тема одного выбора идей и проверки гипотезы заслуживает серии статей или книги, например советую почитать "Спроси маму" ("The Mom's Test" в оригинале).
Мы вдохновились историями успеха которые проповедует Y-Combinator и решили что у нас будет системный подход к поиску идеи, правила игры такие:
встречаться 1–2 раза в неделю на мозговые штурмы;
для каждой “хорошей идеи” мы проверяем product market fit с помощью пользовательских интервью и исследования рынка;
идея обязательно должна быть с возможностью быстро собрать MVP
запускаемся на западный рынок.
В режиме поиска мы провели около месяца. Основной пул идей был связан с ИИ, кажется это было в основном вызвано профдеформацией, так как я специализируюсь на ML, да и вообще это горячая тема. В общем, за это время у нас было:
где то 15-25 боле-менее адекватных идей
4 были интересные
3 из них мы отвергли на стадии исследования
одну мы и выбрали.
Из интересных идей которые брали в обсуждении можно отметить: помощник для препода чтобы отвечать на письма студентов, инструмент для управления времени проведённым с детьми и фотошоп в котором только текстовые промпты. Но остановились мы на идее ИИ фотографий для резюме. Продукт должен работать следующим образом:
Пользователь загружает около десятка своих фотографий, это могут быть селфи, фотографии из отпуска и т. д.
Мы генерируем 40-60 фотографии для резюме, LinkedIn и социальных сетей. Из которых 3-10 более менее нормальные, 1-2 пользователю нравятся и он прикрепляет их к резюме.
В этой идее нам понравилось следующее:
новая ниша, только недавно нейронки научились такое делать;
на рынке есть потребность, люди уже платят за фото в фотостудиях. Также я просмотрел сабредит r/photoshoprequst, и там было много заказов такого толка;
есть несколько конкурентов, на тот момент все они были запущены не так давно, из хайповых историй была только Lensa;
проект осуществим (то что в английксом называется feasible).
Октябрь: реализация
Первым делом мы пошли разбирать в матчасть (Dreambooth, FaceSwap/Ractor, deepfake, IP-Adapter/FaceID и прочие примочки), наспех делать прототип на себе самих, делать тестовую закупку у конкурентов.
С технической точки зрения продукт состоял из 3 больших частей:
сама генерация фотографий, ML на сервере с GPU;
лендинг, кабинет и платежи
бэкенд и база которые склеивали всё вместе;
позже добавилось мобильное приложение под iOS.
С лендингом и бэкендом все более-менее понятно: дизайн в Figma, покупка доменного имени, клиент-серверный API, Flask. Было 2 интересных момента:
принимать платежи на сайте довольно хлопотно, если у вас нет возможности использовать Stripe;
можно быстро делать логотипы и графику в SD/Midjourney + минимально доработать в GIMP/Photoshop. Сильно экономит время.
Все это было сделано за 2 недели.
Однако, c самой генерацией фоток была целая куча проблем. По качеству генерации мы значительно отставали от конкурентов. Коротко в чём была проблема (если интересно как это работает в деталях - спрашивайте), есть 3 метода как могла работать генерация:
Берём одну или несколько фотки пользователя, по ней понимаем возраст, национальность, телосложение и т.д. Генерируем изображение человека с похожими на пользователя параметрами, переклеиваем лицо.
Берём фотки пользователя (5-20 штук), дообучаем модель на фотках пользователя, получаем чекпонит который способен генерировать новые изображения с пользователем.
Берём фото пользователя, считаем дескриптор лица, генерируем изображение человека таким образом, что бы дескриптор сгенерированного лица совпадал с лицом пользователя.
Первый подход не сработал, лицо переклеивалось хорошо, но комплекцию и телосложение никак не удавалось воспроизвести, похожесть терялась. Третий подход обладал похожими проблемами, плюс еще и по лицам было видно что это не реальная фотка.
Нам удалось заставить работать только 2й вариант, пришлось добавить много хаков и постфильтраций, требовалось 4 часа времени GPU c 32 Gb памяти на дообучение модели под одного клиента. Но это работало (!!!), и нам удалось докрутить фотореалистичность что бы наше решение выигрывало у конкурентов в 90% случаев (на момент замеров)
Ноябрь: маркетинг
Весь ноябрь мы посвятили маркетингу, поставили себе цель в 20 продаж. Наш маркетинговый план был таким:
через друзей; если кто то выкладывал фотки в инсту → это приводило к 2-3 покупкам через друзей-друзей;
холодные продажи; в LinkedIn и Instagram писали 10-20 блогерам в день с предложением бесплатно попробовать продукт → бесплатные пользователи находились легко, но каких то значимых покупок мы не получили;
органический трафик; Instagram и TikTok снимали видосы и делали контент → не получили клиентов, получили меньше 10 подписчиков;
реклама в Instagram и Google, надо тратить деньги → потратили $150, получили 2х клиентов на которых заработали $30;
разный хитрый маркетинг на Reddit → получили 30 клиентов разово;
начали делать приложение для iOS c с прицелом на ASO [link].
Итого, в рекламе привлечение клиента стоило в 2.5 раза больше чем мы могли на нём заработать, но завёлся кое-какой органический трафик и нам удалось получить клиентов и обратную связь через Reddit, LinkedIn, Instagram и друзей.
В итоге за 3 месяца мы вышли в чистый плюс $300 на двоих. Это с учётом расходов на аренду серверов, бюджетов на рекламу и закупку фото у конкурентов.
Итого
С событий, описанных в этой стате, прошел почти год, ProfilePhoto находится в рабочем состоянии, но не развивается: счёт за сервера в месяц - $60, он приносит нам $70.
Для меня это был ценный опыт запуска пет проекта от начала до конца, хоть это и моветон так говорить, но “я многому научился”.
Ниша AI аватаров оказалась слишком легкодоступной, если в сентябре у нас было порядка 10 конкурентов, то в ноябре-декабре 2023 порядка 50.
Сценарий использования продукта - купил один раз. Непонятно как удержать пользователя. Сетевой эффект есть, но не получилось его оседлать.
Несмотря на развитие диффузионных сетей, какого то качественного скачка в качестве и похожести генерации фото за год не произошло.
Нас пытались купить ?, написал чувак, предложил $1000 за всё, мы попросили $5000, договорились на $3000 и он пропал.
Комментарии (15)
ukmsz
22.10.2024 17:25Зарубежом категорически не приветствуется добавление фото в резюме, более того использование ии генерации вместо фотографии вообще вызывает подозрения даже если она и очень похожа на реального человека.
beduin01
22.10.2024 17:25Не верьте тем кто так говорит. Люди выбирают глазами. При прочих равных выберут того кто больше понравился визуально.
A107
22.10.2024 17:25Создать проект и выйти в плюс, неважно, что небольшой, считаю уже достижением.
Любопытства ради посмотрел на статистику lensa.app. Количество их пользователей резко упало.
Мне интересно, в вашем проекте, сколько из тех пользователей которые заходят на сайт реально получают результат обработки фотогорафий?
Не может такого быть, что многие сталкиваются с некой проблемой, и тут же закрывают сайт?
В нынешнее время у людей минимум терпения. При малейшем затруднении. Как пример есть 2 фотки (нужно 10), пользователю неохота доставать смартфон, возиться, потом перекидывать фотографии на ПС. Он закрывает сайт и забывает о нем через секунду.
chebattler
22.10.2024 17:25Как по мне, очень ценный опыт. Не знаю кто этим пользуется для CV. Но как аватар на линкеин- вполне.
Автор, расскажите пожалуйста подробнее о выбранном методе генерации и особенно дообучения.
Использовали облачных провайдеров с gpu для ML операций или что-то свое кастомное?
Как проходил процесс обучения и дообучения? С технической точки зрения.
4 часа ожидания, не долго ли? Как создавали очередь, уведомление о готовности.
Другими словами, технические детали подобных проектов было бы интересно почитать, даже кратко
shaggyboo Автор
22.10.2024 17:25Отвечу тут коротко про ML часть, по хорошему надо бы написать отдельную статью, но не уверен что доберусь. Если крупными мазками:
Генерация фоток проходит в 3 этапа: процессинг входных фоток пользователя (1), обучение модели (2), постфильтрация (3).
(1) сделали чекер фоток которые загружает пользователь (face id + эвристики). От того какие фотки попадут в обучение сильно зависит похожесть и вообще всё. Например, нельзя что бы на фотке был еще один человек, нельзя слишком далёкие, слишком близкие, слишком размытые. Иначе всё это просочится в модель.
(2) обучение: наше итоговое решение работает через dreambooth с SD 1.5 (это плагин который позволяет делать fine tune модели). Для хорошей похожести нужно минимум 7 фото, а лучше 15+. Параметры подбирались вручную.
(3) постфильтрация: мы отдаём пользовтелю порядка 40 фоток, но под капотом генерим 200+ и с помощью вспомогатеьной модели выбираем top40.
В продукте самое долгое - finetune, 4 часа долго, но что делать, в системе есть размен качества vs время, мы решили что всё что меньше 6 часов более менее ок (первая версия работала 12 часов, конкуренты от часа). Мы выкрутили ручку в качество. Считаю что это наше конкурентное преимущество.
Мы арендуем GPU на RunPod и гоняем там наш docker: там дешево, простой и понятный API. Мы не использовали готовые API в которые можно подсунуть чекпоинты потому что дальше всё равно есть кастомный постпроцессинг для которого лучше иметь GPU.
gun_dose
22.10.2024 17:254 часа на генерацию - это в итоговом продукте или я что-то не так понял? Может проще было посадить дизайнера, который будет фотошопить фотки? Как минимум, это было бы быстрее.
А так, с технической точки зрения очень интересный проект. Жаль, что бесполезный))
js_onelove
22.10.2024 17:25Спасибо, интересный опыт)
Все думаю написать соц сеть собутыльники)))
С электрорюмкой
KatykaGud
22.10.2024 17:25а чего в родной директ не пошли, или вк хотя бы? решили все сложно делать, в том числе и рекламу через окольные пути размещать рекламу в недружественной инсте и гугле? не патриотично батенька!
AlinkaMalinka
22.10.2024 17:25Ну слушайте, выбор буржуйских площадок в данном случае вполне соответствует ЦА. Да, и в яндексе, и в вк тоже модно было бы найти покупателей, но это скорее как точка роста и вариант для теста
Cosss
22.10.2024 17:254 часа? А можно пример? У меня на 16гб 4060 20 секунд занимает генерация на SDXL с помощью Instant ID и одного фото. Фотореализма немного не хватает, но думаю, с этим можно что-то сделать.
Zenitchik
А рынок этой хрени насколько вообще велик?
shaggyboo Автор
Примерно на момент анализа рынка были 2 приложения зарабатывающих где-то около по $500К в месяц. Еще с 5-7 с доходом около $10-20К в месяц. (доход ≠ выручка)
alexxxdevelop
А как вы оцениваете доход в месяц стороннего приложения?
shaggyboo Автор
Тут нет универсального способа, есть много разных методик.
Для приложений есть вот такой сайт sensortower.com, он даёт ±2x верную оценку по приложениям в сторе. Если компания большая - есть crunchbase.
Ещё есть несколько косвенных тактик, например можно примерно прикинуть порядки используя Ad Transparency программы у Instagram, TikTok и Google, посмотреть какую рекламу закупают конкуренты + использовать данные о кампании и навыки математики.