GeoZilla — приложение и геотрекер для безопасности и комфорта семьи
В рубрике DOU Проектор специалисты рассказывают о том, как создавали свой продукт (как стартап, так и ламповый pet-проект).
Всем привет! Я Илья Казанский, CTO стартапа GeoZilla. Наша команда разрабатывает семейное мобильное приложение, с помощью которого можно быть в курсе точной геолокации ваших детей, пожилых родственников и домашних животных. В отличие от других проектов, связанных с GPS-технологией, мы взяли на себя задачу благодаря Big Data Processing и Machine Learning определять аномалии в геоповедении пользователей и заранее оповещать их о том, что может произойти с ними или с их близкими. В этом месяце наш продукт получил бейдж Product of the Day на популярной площадке для стартапов Product Hunt. Но обо всем по порядку.
Мы решили сделать акцент на безопасности и комфорте семьи. GeoZilla показывает места, где ваш сын — начинающий водитель часто превышает скорость, чтобы вовремя обратить его внимание не небезопасное вождение. Или же продукт может помочь семье создать постоянные домашние привычки: начинать готовить еду, когда ребенок выходит из школы; подсказать, какие места в городе каждый из членов семьи посещает чаще всего, еще и предложив новый ресторан в этом же районе.
За четыре года существования стартапа мы смогли привлечь в iOS- и Android-приложения более 1 миллиона активных пользователей. Большую популярность приложение получило в США, Китае, Бразилии и Мексике.
Интерфейс онбординга приложения GeoZilla
Как все начиналось
Фаундером проекта является предприниматель Александр Шаров. Идея продукта возникла в 2015 году, когда дочь Александра улетела учиться в Техас. Чтобы быть с подростком на связи, появилась мысль создать семейное приложение. Но уже спустя два года его существования идея превратилась в бизнес с миллионной аудиторией.
Спустя четыре года часть нашего офиса переехала в Сан-Франциско. Но большая часть команды (38 человек, две трети из которых — технические специалисты) базируется в Киеве, где и ведется основная техническая разработка проекта. В команде сейчас специалисты по Data Science, Objective C, Cloud Architecture, PHP, Java и QA Automation. Мне кажется, что до сих пор в нашей компании ярко проявляется дух современного стартапа, что позволило создать распределенную команду. В ней есть ребята, которые живут в Швеции, Англии, Китае. Также сотрудники часто путешествуют, заезжая в один из офисов GeoZilla.
Киевская команда проекта
Наша цель — помочь пользователям чувствовать себя более комфортно и не беспокоиться зря, зная, что с близкими все в порядке. Мы хотели бы сделать нашу жизнь более автоматизированной и удобной. Например, на основе ранее заложенных геоповеденческих факторов будет автоматически происходить какое-либо действие: закончился рабочий день в офисе у вашего мужа — можно выезжать, чтобы встретиться с ним в городе.
GeoZilla дает пользователям возможность создавать так называемые круги взаимоотношений внутри приложения. Например, круг мамы и подростка-школьника, круг детей и их пожилых родителей и даже круги с вашей неугомонной любимой собакой. С помощью GPS-технологии можно делиться своим местоположением с родными, назначать встречи, отмечать любимые места, отправлять нотификации о своих путешествиях, просить об экстренной помощи, если вы попали в беду.
Релиз продукта состоялся в апреле 2015 года. Сперва мы запустили iOS-версию, а приложение в Google Play вышло через шесть месяцев. На разработку проекта и поиск команды ушло полгода. Все начиналось с личных инвестиций. Сейчас же стартап находится на стадии growth: проект привлек 2,1 миллиона от частных инвесторов.
Особенности
В отличие от других социальных платформ и мессенджеров, GeoZilla использует различные сенсоры на смартфоне и IoT-устройствах. У нас много алгоритмов, которые ежемесячно обрабатывают миллиарды сигналов с разных девайсов пользователей. Функционал распознает аномалии в привычных сценариях и сигнализирует о них. Используется, например, шагомер, высотомер, гироскоп, акселерометр, компас, пульсометр. Мы применяем ML powered decision trees, чтобы предсказать пользовательский путь и вовремя сообщить близким о том, что может произойти. Например, такая технология помогает предупредить маму о том, что ребенок очень долго идет из школы или проводит много времени в незнакомом месте.
Мы используем передовые алгоритмические методы и бесконечно масштабируемую облачную инфраструктуру для обнаружения аномалий географического поведения с целью своевременного оповещения пользователей, предоставления рекомендаций по безопасности. Все это возможно без раскрытия конфиденциальной личной информации: пользователям предоставлен полный контроль над своими данными.
Как мы обеспечиваем безопасность пользовательских данных? Есть концепция «privacy by design» — сама архитектура построена с учетом максимальной приватности, это приоритет приложения. У нас нет данных, которые можно связать с конкретным человеком. Сведения по геолокации есть — но это не личная информация: у нас нет имен, адресов. Даже если предположить, что данные куда-то «утекут», их все равно нельзя будет сопоставить с определенной личностью. Из внешнего мира никто не может получить доступ к информации, сеть целиком закрыта.
К тому же сейчас мы разрабатываем сквозное шифрование — оно используется в мессенджерах. Смысл в том, что данные доступны только на устройстве пользователя, и защитный ключ хранится лишь на самом девайсе.
Как работает приложение
Интерфейс карты приложения
Каждый пользователь может создать круги со своими родными и в разделе с картой в реальном времени видеть, где находится близкий человек. Также на карте видны данные о заряде его телефона или других подключенных к GeoZilla гаджетов.
Так отображаются в приложении день пользователя и его передвижения по городу в реальном времени
Есть возможность отмечать важные места на карте: дом, работу, любимые бары, кафе, магазины. Также можно настроить получение уведомления, когда ваш близкий вышел или зашел в конкретное место. Это удобно для мам, чтобы проследить, когда школьник пришел в школу или ушел оттуда. На отдельной карте можно посмотреть весь путь пользователя за день.
Интерфейс функционала для регистрации скорости движения юзеров, а также кнопки SOS, необходимой в экстренных случаях
Дополнительная функция приложения — Driving Protection. Она дает возможность проследить поведение пользователя за рулем или в пути: используется ли телефон, превышается ли скорость, есть ли аварийные ситуации. Это может помочь начинающим и пожилым водителям контролировать свое поведение за рулем.
Для экстренных случаев в приложении предусмотрена кнопка SOS, при нажатии на которую близким отправится уведомление о случившейся с человеком проблеме.
Технологии
Приложение построено на Java и Objective C, бэкенд-компоненты состоят из микса Java и PHP. У нас есть тщательно спроектированная инфраструктура, которая может справиться с Load Distribution и Autoscaling, чтобы мы были более cost effective и могли справиться со значительной нагрузкой. Мы используем сочетание Relational и NoSQL Databases для решения определенного типа задач и в настоящее время переносим их в облако.
Большая часть инноваций в продукте сформулирована на основе
Поскольку мы сосредоточены на том, чтобы сделать продукт лучше и привлечь больше пользователей, которые могут получить пользу, то вкладываем свои силы в Business Intelligence. Наши сервисы генерируют миллиарды non-personal data points каждый месяц. Мы используем такие продукты, как Google Big Query и Data Studio, для решения бизнес-задач.
Так как сейчас мы находимся на пороге совершенно нового времени, то видим, как активно распространяется 5G и какие возможности это открывает для IoT-стартапов.
В чем уникальность
Во-первых, это единственное приложение на рынке, которое объединило в одном интерфейсе не только мобильные телефоны ваших близких, но и другие их девайсы. Например, вы можете синхронизировать продукт с Apple Watch или GPS-трекером от GeoZilla. Последний можно приобрести вместе с подпиской на премиум-версию приложения. Это формула Phone to Phone & Phone to Device.
GPS-трекер
Во-вторых, GeoZilla не делится данными о своих пользователях со сторонними ресурсами и не монетизируется за счет своей аудитории. Данные хранятся на сервере независимо друг от друга, их нельзя сопоставить, нельзя нарушить приватность пользователей. Вы можете быть спокойны за свою личную информацию.
С разрешения пользователей команда разработчиков тщательно анализирует данные внутри стартапа, чтобы предсказывать паттерны поведения. Например, со временем приложение уже знает, во сколько начинается школьный день вашего ребенка, когда бабушка чаще всего любит ходить в магазин, где и во сколько самое время выгулять собаку. Об этом мы сообщаем юзерам, например с помощью нотификаций.
Стоит также отметить уникальность созданной технологии. Благодаря тому, как трекаются данные, приложение не убивает батарею вашего смартфона. Разработанная технология сейчас находится на стадии получения патента. Добиться такой низкой энергозатратности получилось далеко не у всех приложений с GPS-трекингом.
О развитии команды
Одна из самых важных проблем на данный момент — то, что за этот год у нас очень выросла команда. Мы увеличили штат почти в два с половиной раза, и сейчас в команде 38 человек: специалисты в области R&D, Marketing, QA, BI, Business Development, User Acquisition, Research, Design. И для того, чтобы дальше создавать полезный продукт с постоянным перфомансом, нам нужно научиться быть классной командой, достаточно быстро сплотиться.
Другая проблема — мы решили работать отчасти распределенно. И в этом тоже есть свои сложности. Заключаются они не только в том, чтобы успешно проводить митинги в разных часовых поясах. Нам нужно принимать единые решения, уметь договариваться на ежедневных коллах.
Как мы строили BI-отдел и как теперь работаем с Big Data
Большинству современных компаний очень сложно оставаться конкурентоспособными без умения хорошо анализировать данные о своем продукте, юзерах, конкурентах. Это важно сейчас для всех технических и продуктовых стартапов. И есть несколько современных подходов к тому, как работать с аналитикой.
Иногда стартапы используют уже готовые решения: например, Firebase, Mixpanel, Amplitude, Flurry, Localytics, Google Analytics. Мы тоже начинали так. Но нужно успеть вовремя перестроиться и начать нанимать своих Data Engineers и специалистов по Data Analytics. Их задача — своевременно передавать данные маркетологу, product-менеджеру или CEO.
С самого старта работы в GeoZilla я начал строить BI-отдел, чтобы создать свою кастомную аналитику. Нашему стартапу помог перестроиться Google Cloud Storage. Мы отправляем данные в хранилище, где можем достаточно быстро проанализировать их. Также мы использовали Google BigQuery. Этот инструментарий позволяет команде аналитиков работать с SQL, чтобы делать запросы на таблицу в 13 петабайт. Также советую обратить внимание на Google Data Studio. Этому инструменту чуть больше полугода. Он позволяет на основе запросов строить красивые визуализации, графики, дашборды, которые будут автоматически обновляться.
Масштабирование инфраструктуры стартапа
Есть разные этапы развития стартапа. Первый — когда все только начинается, пока работаешь на выживание, и второй — когда ты смог доказать рынку, что твоя идея валидна, и ты уже встал на ноги. Все просто: start, growth, scale.
Если говорить об инфраструктуре, то многие стартапы на ранней стадии демонстрируют идею, используя как можно меньше денег. Этот фактор принимается к сведению и из-за этого часто принимаются такие технические решения, которые потом не работают.
Поскольку компании экономят, они выбирают дешевую инфраструктуру. Как говорят, bare metal. В свое время мы нашли решение, когда за небольшое количество денег покупали серверы и сами брали на себя ответственность за то, чтобы настраивать и содержать их. Все это делалось ради экономии. Но со временем, когда GeoZilla стала переходить в стадию growth, все эти моменты экономии сыграли свою роль.
Представьте себе велосипед, на котором человек шесть, а еще у них в руках по телевизору и холодильник на прицепе... Примерно так выглядит инфраструктура продукта, которая создается для одной цели, а потом начинает выполнять совершенно другие задачи. Из-за этого ухудшается качество продукта для пользователей. Серверы просто нe справляются с объемом при запуске рекламных кампаний. Любые механические предметы могут ломаться и портиться, и, когда ты сам управляешь этим, достаточно много ресурсов команды уходит на поддержание жизни того, что все же должно умереть.
Конечно, даже самые известные корпорации начинали с железок в своих гаражах. Но со временем все переходят в облако или дата-центр. А дальше, на стадии scale, иногда компании возвращаются на стадию железа, но более мощного. Экономически невыгодно оставаться на стадии посредника.
Мой совет — уже на этапе создания прототипа продукта стараться принимать решения, которые будут работать на этапе growth. Задумывайтесь о будущем. Стройте архитектуру продукта так, чтобы было наиболее безопасно переходить на cloud. Просто нужно думать на шаг вперед. Правильное инфраструктурное решение спасет десятки часов работы вашей команды в будущем.
Усовершенствование процессов
Возвращаюсь к разным стадиям стартапа. Есть разные уровни ресурсов, цели и приоритеты для компании в определенный момент жизни стартапа. Когда ты только начинаешь, с тобой в команде
Существует очень мало успешных стартапов с одним фаундером. Но техническую часть довольно часто разрабатывает один человек. Приоритет отдается тому, чтобы построить прототип и продать этот прототип инвесторам. Чтобы им понравились идея, бизнес-решение и сам прототип продукта.
Уже после получения первых инвестиций в стартапе появляются другие инженеры. И процесс работы строится по схеме waterfall, как водопад. Приходят задачи от бизнеса, вы выбираете приоритетные и по очереди начинаете их выполнять. Берешь задачу, тестируешь, отдаешь. Это постоянный поток. По такому принципу у тебя развивается компания, увеличивается количество сотрудников, появляется финансирование, разработка возрастает человек до шести.
И важно не упустить этот момент! Идея подойдет не всем, но многим командам пригодится точно. Нужно вовремя перейти на работу по Agile Scrum. Здесь будет история, когда у инженера существуют временные рамки, в которые должна выполняться определенная задача. В эти временные рамки, в спринт, ты должен выполнить все. Задачи составляются на спринт, а не идут волной одна за другой.
Изначально продуктовая команда и бизнес-менеджер описывают свои требования, user story. Потом они передают эту задачу команде разработки. Команда использует grooming, где разработчики могут ознакомиться с задачей и понять требования. В течение двух недель они выполняются и деливерятся.
С чем у нас возникла проблема? Мы очень долго работали в формате Agile Scrum на 20 инженеров. С ростом компании и команды очень важно своевременно вносить изменения в девелопмент-процессы. Наилучшее сочетание — когда в одной команде Agile Scrum будет
Если фаундер компании не будет своевременно обращать внимание на технические процессы и на то, как взаимодействуют между собой члены команды, то через какое-то время просто наступит момент, когда 20 человек станут работать менее продуктивно, чем
Всегда обращайте внимание на перфоманс команды, получайте фидбэк от сотрудников. Не игнорируйте важность project-менеджера или Scrum-мастера, который будет следить за дисциплиной всех процессов. Иначе все вокруг превратится в хаос.
Какие планы
Недавно GeoZilla выпустила GPS-трекер, который удобно брать с собой, прикреплять на ошейник любимой собаке, отправлять в путешествие вместе со своим чемоданом, чтобы не потерять его по пути, или оставлять в бардачке машины, чтобы не забыть место парковки. Мы делаем большие ставки на популярность девайса. Так как это первый в мире трекер, созданный специально для мобильного приложения. Его функционал более широк, чем в аналогичных проектах.
Также у трекера есть важная кнопка SOS, нажав на которую пользователь мгновенно сообщит своим близким о том, где сейчас находится.
Кроме того, мы постоянно проводим продуктовые A/B-тестирования нашего приложения, добавляя таким образом новые функции. Некоторые из них доступны только по премиум-подписке. Сейчас стоимость квартальной подписки составляет $39,99.
Надеюсь, наш стартап смог вас заинтересовать. Всегда будем рады новым пользователям нашего семейного приложения. А еще — классным специалистам и профессионалам, которые готовы присоединиться к нашей команде! Свежие вакансии мы размещаем на сайте GeoZilla, а также на странице DOU.