Как мы это сделали. Kuoll — сервис по исправлению багов в приложениях
В активе белорусского стартапа Kuoll, разработавшего одноимённый сервис для разработчиков по исправлению ошибок в веб-приложениях, победы в национальных конкурсах, организованных европейскими инкубаторами Startup Wise Guys и Startup Sauna, призовое место на недавнем Venture Day Minsk. Основатель проекта Дмитрий Кайгородов делится с читателями dev.by опытом создания Kuoll в нашей рубрике «Как мы это сделали».
Kuoll — веб-платформа, которая позволяет программистам исправлять баги пользователей так же легко, как и баги, воспроизводимые в своём собственном браузере. Фактически, Kuoll-скрипт встраивается в страницу, записывает действия пользователя, а когда он сообщает о проблеме в службу поддержки, эта запись присоединяется к запросу. На записи программист видит код страницы, динамические изменения её кода, действия пользователя, запросы на сервер, JavaScript Errors, запись в консоль и также взаимосвязи между этими событиями.
Я работаю программистом уже 11 лет, 6 из них — в аутсорсинге. И когда приходилось исправлять ошибки, от которых страдают пользователи, клиенты наших клиентов, то процесс работы превращался в какой-то ад! Далеко не всегда понятно, какая именно версия кода и конфигурация развёрнута у клиента. Данные и серверы, на которых воспроизводится ошибка, часто не доступны для разработчика. Согласование изменений и коммуникация может происходить через посредника…
Думал, что какая-нибудь крупная компания, типа IBM, скоро реализует такой инструмент. Никто ничего, похоже, не сделал, и я решил взяться за дело сам. Хотелось создать действительно полезный инструмент, даже в какой-то степени перевернуть процесс обычного, каждодневного программирования — избавить его от значительной доли рутины и бюрократии.
Наивно казалось, что сделать такой проект успешным — легко и быстро. Оказалось, что это не совсем так.
Подготовка
Проект довольно долго зрел в моей голове, но я не брался его реализовывать. До этого прочитал пару книг, (Lean Startup, например), работал в компании, разрабатывающей собственный продукт.
Следующий этап — собрать команду — был довольно тяжёлый. Я за два месяца разработал прототип, чтобы объяснять людям, как эта штука будет работать. На первых этапах продукт — скорее не результат, а инструмент для объяснения идеи и получения обратной связи.
Сначал показывал прототип знакомым разработчикам и тестировщикам. Первый публичный релиз состоялся через 4 месяца после начала работы. Когда жена и дочь пошли спать, я сел и записал 3-минутный скринкаст с примером, как работает сервис. Видео запостил в группу тестировщиков в Facebook, где оно собрало 500 просмотров и принесло 50 регистраций. Обратная связь убедила в востребованности первоначальной идеи.
Команда
В проекте два разработчика: я и студент из Украины — очень умный парень, которого нашёл через интернет ещё в пору его учёбы в 11-м классе. Сейчас в Kuoll также участвуют двое ребят, которые занимаются бизнес-частью.
Продукт разрабатывали в свободное от основной работы время. 6 недель назад я и мой коллега Евгений Степнов стали работать над Kuoll full-time.
Затраты на разработку подсчитать сложно. Да это и наивный ориентир. Самое сложное — собрать команду, выяснить, что нужно рынку, как достучаться до потребителей продукта. Поэтому нужны короткие итерации, всё время показывать продукт пользователям, очень полезна обратная связь с некоторыми менторами.
Также не обойтись без пиара. Например, чтобы собирать людей в команду. Не нужно много шума, но необходимо вовлечь людей в то, что ты делаешь. Даже жену нужно убедить, что оно того стоит. Когда друзья смирятся и поймут, что ты «законченный стартапер», тогда можно и их вовлекать в процесс. Если сказать человеку пять раз «Я разрабатываю вот-такой продукт», он начинает понимать. Это обычное явление, но когда речь идёт о собственном проекте, очень хочется форсировать события.
Разработка
Совет тем, кто собирается создавать свой продукт: пишите на том, что знаете, но разрабатывайте так, чтобы продукт нормально масштабировался. Вначале люди будут приходить на ваш сайт наплывами, и если ваш сервис не держит нагрузку, остальное будет уже неважно.
Мы используем в разработке следующие инструменты:
Server: Google AppEngine — отлично масштабируется, простой деплоймент. Но в будущем хотим перейти на какой-нибудь более предсказуемый дешёвый сервис.
Мы перешли с AngularJs на ReactJs, как-то быстрее идёт разработка. Компоненты пишутся очень легко, цельная часть фреймворка.
Код храним в закрытом беплатном репозитории BitBucket.
Не стыдимся использовать Bootstrap. Поменяли цвета, шрифты.
Много пишем на JavaScript. Grunt для сборки нам хорошо подходит. Используем много разных js-библиотечек.
Конкуренты
Есть два типа сервисов, которые похожи на Kuoll. Первый — запись действия пользователей для UX-исследований. Классическая задача таких сервисов заключается в улучшении конверсии в заполнении форм на сайте. Второй тип — сервисы по отлавливанию ошибок на сайте и их записи на сервер.
Однако эти инструменты не позволяют понять, что делал пользователь, как программа реагировала на его действия, и почему произошла ошибка. Для решения этих задач я и взялся за разработку Kuoll.
Мы редко копируем идеи у конкурентов — скорее вдохновляемся, улучшаем собственный продукт или просто записываем, что можем сделать в будущем. И хотя мы очень тщательно исследовали рынок в самом начале процесса, раз в два месяца находим интересный новый продукт, у которого можно позаимствовать какую-то идею.
Сложности и ошибки
У меня не было опыта ни в продажах, ни в маркетинге, потому в самом начале я видел клиентами сервиса команды тестировщиков, которые будут записывать и отправлять баги в репозиторий, используя наше расширение для Chrome (без установки скрипта на сервер). Оказалось же, что продажи тестировщикам вовлекают множество людей и уйму согласований, прежде чем они смогут использовать наш инструмент на проектах реальных заказчиков.
Поэтому мы сделали скрипт, который встраивается в страницу и записывает действия реальных пользователей. Такой инструмент, ориентированнный на исправление ошибок в продакшн, находит гораздо больший отклик.
Также многие переживают за приватность данных, поэтому нам пришлось особо побеспокоиться о безопасности:
пока пользователь не обратился в саппорт, или пока не прозошёл js Error, собранные данные не покидают браузер пользователя;
приватные элементы страницы специально помечаются и не попадают в Kuoll-запись;
запросы на приватные URLы не записываются.
Бизнес-модель и перспективы
Бизнес модель — обычная для таких проектов: подписка на сервис, с разными тарифами для разных клиентов. Например, возможна пожизненная лицензия для очень крупных покупателей. Правда, пока мы проводим бета-тестирование, продукт бесплатен.
Самый большой потенциальный сегмент для Kuoll — корпоративное программное обеспечение. Половина расходов на ПО приходится на время экплуатации. Используя Kuoll, наши корпоративные клиенты могут значительно сократить расходы. Чтобы достичь этих клиентов, необходимы прямые продажи.
Другой перспективный сегмент — разработчики собственных SaaS-продуктов. Для них основная выгода — это качественный продукт, который будет верой и правдой служить пользователям. Для достижения таких команд хорошо подходит маркетинг через технические статьи.
Сегодня не до конца понятно, насколько велик рынок у нашего проекта. И узнать это невозможно без хорошо поставленных продаж.
Продвижение
Участие в мероприятиях — отличный способ научиться объяснять ваш продукт, узнать, какие особенности проектов усиливают или снижают потребность в нём. Можно завязать контакты с потенциальными клиентами, партнёрами, инвесторами. Увидеть, как продукт и команда, выглядят со стороны.
Kuoll — продукт для разработчиков, поэтому разнообразные стартап-мероприятия для нас — это ещё и способ установить контакт с потенциальными клиентами. Отраслевые «ивенты» — это хорошая возможность влиться в рынок и получить обратную связь.
Часто люди воспринимают продукт очень положительно. Иногда я даже заражаюсь от них позитивным настроем. Правда, бывает и по-другому. Например, однажды один человек сказал, что у нас ничего не получится, потому что мы из Беларуси. Что здесь нет нормальных команд, и вообще всё плохо. Не знаю, как у него это получилось, но это довольно сильно выбило меня из колеи.
Самое большое изменение, которые мы внесли на основе обратной связи — изменили продукт с Chrome-расширения для тестировщиков на скрипт, записывающий действия пользователей для разработчиков, чтобы им легко было исправлять ошибки.
Итоги
Мы работаем над проектом два года. Сегодня у Kuoll 300 зарегистрированных пользователей, с двумя компаниями мы уже наладили активное сотрудничество. Наша главная задача — полноценное обслуживание клиентов, которые всерьёз хотят пользоваться нашим продуктом. Мы ещё не поддерживаем некоторые технологии (например svg, iframe), но часто вносим улучшения в продукт для новых клиентов.
Сейчас мы работаем над поиском первых инвестиций. Переговоры с несколькими потенциальными партнёрами отнимают довольно много времени, но без этого никуда. В случае положительного решения вопроса, планируем направить инвестиции на маркетинг и разработку.
Учитывая, что теперь это мой основной проект, есть личная удовлетворённость, хотя денег гораздо меньше по сравнению с бывшей зарплатой.
Полезные ссылки
Bitbucket — бесплатный git-хостинг и issue менеджмент, нам вполне хватает.
GitHub Pages — можно легко заливать странички, картинки и файлы (для технарей). Вот пример, как мы эти пользуемся.
Medium.com — тут можно публиковать статьи. Но мы ещё используем его, как текстовый редактор. Очень легко и приятно пишется текст.
Facebook Messenger — отличная штука для переписки и без отвлекающего Facebook’а. Slack почему-то не «зашёл».
Grammarly — сервис проверки текстов на правильность английского.
В DEIP из-за обвала курса от $1,1 млн осталось $350K, зарплаты не платят. CEO разбирает, как так вышло
Блокчейн-стартап DEIP больше двух месяцев не платит зарплату сотрудникам. Об этом dev.by рассказали несколько человек из компании: «официальная причина — стартап неправильно распорядился финансовыми ресурсами и денег нет. Подробностей не знаем». Сотрудникам сообщили, что топ-менеджмент ищет дополнительный капитал для погашения задолженности и дальнейшего развития. Но часть команды уже ищет новую работу.Мы также поговорили с СЕО DEIP Алексом Шкором — он рассказал, из-за чего у стартапа возникли сложности, как команда пыталась их решать и что собирается делать дальше. «Хочу поделиться опытом, чтобы на нём смогли научиться другие фаундеры, которые хотят идти в web3», — говорит Алекс. Ниже — подробный разбор.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.