DOU Проектор: Как я создал Mozaic.pics — сервис для поиска маркеров на фото
От редакции:
В рубрике DOU Проектор все желающие могут презентовать свой продукт (как стартап, так и ламповый pet-проект). Если вам есть о чем рассказать — приглашаем поучаствовать. Если нет — возможно, серия вдохновит на создание собственного made in Ukraine продукта. Вопросы и заявки на участие присылайте на
Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра.
.
Идея
Всем привет, меня зовут Максим, мне 31, я PHP разработчик из Харькова. Пару лет назад я, как и многие, подался в стартаперы, причем сразу в несколько. Чем больше — тем лучше, считал я. Такой себе серийный CTO. Саму мысль о том, что мне нужно будет отвечать за весь проект, а не только за техническую сторону, я напрочь отвергал. Считал, что не справлюсь. Поэтому искал людей, которые бы отвечали за привлечение новых клиентов, общение, PR, маркетинг, продажи.
Как-то раз знакомый маркетолог (ментор в стартап-инкубаторе) предложил мне закопипастить один израильский проект, который детектит и детерминирует на фотографиях специальные маркеры. Мол, идея прикольная, патента нет, создатели просят большие деньги, мы дадим дешевле, надо пробовать, есть уже 50% кода, написанные кем-то. Я согласился, ударили по рукам.
Существующий функционал оказался бесполезен, так как работал на QR кодах, которые, естественно, не находятся, когда они малы. После долгих скитаний и изучений я нашел на гитхабе проект на OpenCV, который отлично делал то, что мне нужно. Далее набросал за 2 месяца первую версию. Первый релиз был сырой, но вскоре моему партнеру удалось провести ряд ивентов в Kharkiv Palace Hotel. Мы получили хороший фидбек и список новых фич. Помню как я сказал кому-то: «Кажется, я сделал что-то действительно полезное и стоящее». Это было лето 2014 года.
Далее еще было несколько больших мероприятий, но затем их стало меньше, а мой партнер все больше занимался другими вещами. Тогда я озвучил первое недовольство, просил какие-то стратегии, планы, предлагал поменять подход в монетизации, искать партнеров в смежных отраслях. Но продуктивного диалога долго не получалось. В итоге мы поссорились и отключили друг другу доступы.
Спустя 2 месяца я решил на остатках кода создать проект с ноля. Так появился проект Mozaic.pics.
Реализация
Итак, смысл сервиса в том, что он генерирует серию уникальных маркеров, очень похожих на QR код, которые можно распечатать и нанести на одежду/бейджи/другое участников мероприятия. Если этот маркер попадет в фотокадр, то Mozaic сможет детерминировать его.
Сферы применения — спортивные мероприятия, конференции, вечеринки, другие ивенты. Кейс может выглядеть так. Организатор создает ивент в Mozaic, распечатывает маркеры (или мы отправляем ему удобные наклейки службой доставки), наносит их на бейджи. Проводит ивент, делая при этом как можно большое количество фотографий, потом загружает все фотографии в систему в hi-res качестве. Теперь каждый участник может получить фотографии по своему уникальному номеру.
При разработке я использовал следующий стек технологий:
— PHP, yii2, OpenCV 3, MongoDB;
— VK+FB API;
— ImageMagick, Gearman, Supervisor.
Доступный функционал
Многие факторы зависят от самого организатора. Например, можно чтобы фотографии были доступны для загрузки или же только через социальные сети. Все фотографии можно забрендировать с помощью watermark’ов Возможен публичный режим, при котором загрузить фотографии в базу мероприятия может кто-угодно.
Мы предоставили кабинет с многочисленными настройками, достаточными для самостоятельного запуска/проведения ивентов.
На данный момент реализованы следующие возможности:
— Facebook & VK экспорт фотографий, также возможность выгружать фотографии в оффлайн режиме (без участия пользователя);
— Точность нахождения. Если узор разбираем, то он обязательно детерминируется.;
— Максимум 60 тыс. участников на один ивент;
— Брендирование и виджеты;
— Создание PDF с маркерами и выгрузка CSV данных для ремаркетинга;
— Статистика;
— Мультиаплоад и поддержка архивов.
Монетизиция
Сейчас продавать сервис в Украине по SAAS схеме не представляется возможным, по крайней мере для меня. Хочется лучше его обкатать, собрать реальные кейсы. Задача о срочной монетизации проекта пока не стоит.
Поиск клиентов
Несколько часов в день, в свободное от кодинга время, я занимался поиском клиентов. Пробовал разные подходы в сообщениях — часто люди не понимали, о чем все же проект, и стеснялись спросить. Приходилось рисовать презентации и объяснять все на пальцах.
Как оказалось, клиенты не хотят самообслуживание, не хотят ничего печатать, фотографировать и даже регистрироваться в вашей простой форме регистрации. Возможно, это специфика именно event бизнеса. Видимо, у организаторов и так дел по горло, а тут еще вы предлагаете что-то там напечатать, сфотографировать. И не всегда хорошо позиционировать себя как нечто новое, иногда лучше сказать, что мы как у тех, только чуть поновее.
Сотрудничество с организаторами Харьковского марафоном
Мне ответили организаторы Харьковского Марафона и предложили провести фоторепортаж, а также доставить фотографии всем желающим участникам. Я занялся подготовкой, сделал редактор watermark’ов, с помощью которого можно настроить брендирование фотографий. Нашел поставщика самоклеющейся бумаги, уже порезанной, которая намного упростила «интеграцию» моих маркеров.
9 апреля в Харькове прошел
На номера марафонцев было нанесено около 2000 маркеров в виде наклеек.
Из 17000 фото сервис детерминировал 1742 уникальных участников/маркера
На данный момент выгружено около 3900 фотографий в 1500 фейсбук/вк аккаунтов.
Многие участники привязали свои аккаунты заранее и первые фото они получили еще вечером 9 апреля.
Технические подробности
На разбор одной фотографии весом
Все ресурсоемкие задачи сервиса были вынесены как фоновые процессы. Очереди сделали свое дело, помогли выдержать лавину запросов, сервис не упал, соц. сети не забанили. MongoDB идеально подошла для активно меняющихся запросов и типов данных.
Как заметят многие, стек технологий не очень подходит для сервисов. Отсюда ряд проблем, но кроме того:
— Очереди на Gearman были реализованы не совсем правильно. Перемудрил с таймингами. Из-за этого некоторые пользователи получили свои фото только на следующий день. Приносим извинения.
— Непродуманный UI. Некоторые пользователи не понимали, что и куда нажимать. Исправлялись на лету.
— Мониторинг. Не предусмотрели возможность проверять данные в разных контекстах.
Результаты
В процессе работы я сделал для себя такие выводы:
— Никто, кроме вас, не сделает ваш проект лучше. Если кто-то делает его в самом деле лучше, то это, скорее всего, не ваш проект, а его.
— В команде все участники должны быть одинаково полезны проекту.
— Нельзя принимать решения, основываясь на сиюминутных умозаключениях. Все решения должны быть обдуманными. «С этим нужно переночевать».
— Лучше делегировать задачи и мотивировать участников команды, чем заводить партнеров и перекладывать часть проблем на них.
— Не нужно бояться пробовать себя в новой сфере. Программистами не рождаются, маркетологами, сейлзами, пиарщиками тоже.
Идей дальнейшего развития проекта много, но я решил реализовывать их только под потенциальных клиентов. Вот краткий список:
— Доставка фотографий по email + email marketing;
— API;
— Конструктор бейджев;
— Возможность скачать фотографию высокого качества;
— Публичные фото-каталоги ивентов;
— Возможность распознавания обычных арабских цифр на номерах (удобно для спорт ивентов);
— Разбор фотоматериалов из соц. сетей;
— Больше социальной гемифакации для мероприятий.
В данный момент занимаюсь поиском новых клиентов. Впереди еще много работы.
Спасибо за внимание, будут рад ответить на вопросы.