«Жжем все бабки, которые есть». Как краснодарская аутсорс-компания WILIX разработала аналоги Notion и Slack

На «полях» IT-конференции DUMP, которая прошла в этом году в Екатеринбурге, команда Doubletapp записала серию подкастов с ее топовыми спикерами. Одним из них стал CEO краснодарской аутсорс-компании WILIX Дмитрий Алоян. В беседе с Сергеем Анчутиным он рассказал, как его команда прошла путь от заказной разработки к собственному продукту и об аналогах Notion и Slack, которые называются Yonote и Loop.

«Жжем все бабки, которые есть». Как краснодарская аутсорс-компания WILIX разработала аналоги Notion и Slack

Посмотреть выпуск подкаста «Что‑то на программистском» с Дмитрием Алояном можно на YouTube‑канале Doubletapp, послушать аудиоверсию – на удобной площадке. А здесь – прочитать текстовую версию круглого стола «Как аутсорс-агентству иметь технические компетенции на уровне корпорации», на котором Дмитрий поделился опытом своей компании и рассказал о «грязной» работе аутсорса и конкуренции за сотрудников.

О чем статья:

Как вообще пришла идея делать свой продукт?

Как и весь аутсорс, мы начинали с мечты, что мы будем делать собственные продукты. В ходе разработки на заказ мы постоянно создавали какие-то пет-проекты. Естественно, они ни во что не превращались никогда и чаще всего уходили «в стол», использовались как какие-то внутренние системы для менеджмента или для развлечений. И где-то с года 2018 мы начали переходить активно на запуск сервисов в наших контурах – отказывались от облачных решений из-за того, что были очередные санкции, уходили зарубежные компании, с Амазоном была проблема. Взяли open-source решения, чаты и базы знаний. Запустили, все хорошо, но компания начинала расти, и появилась потребность в системах единого входа во все сервисы. Эти open-source продукты – Mattermost и Атлас – не предоставляли из коробки этих решений.

Это первое, что мы начали допиливать: полезли в исходники, продолжали синхронизироваться с публичными репозиториями. Но потом появились новые требования: надо было ботов пилить, улучшать базу знаний, потому что мы не хотели Confluence, мы не хотели ничего другого, нас в принципе устраивало. И мы вносили функционал – таблицы добавляли, еще что-то. А когда наступила СВО, мы просто решили этим всем поделиться. В тот момент еще никто не уходил официально, только волнения начинались, но было какое-то чувство внутри, что «кому война, кому мать родна», что какое-то окно возможностей появилось и нужно что-то делать. Я не спал ночами, если честно, чувствовал, что что-то происходит.

В то время мы еще делали аутсорсинговый проект, и там внутри уже начали коллеги подстраховываться, стелить соломку, искать варианты продлить Confluence или что-то с ним сделать. И мы поняли, что наш допиленный Атлас может в принципе заменить Confluence. Он у нас для этого и служил, в нем был весь необходимый функционал: мы добавили поддержку PlantUML на базе Mermaid. Быстренько подготовили его к SAS-развертыванию, добавили поддержку всяких кластерных режимов, еще что-то и быстренько выкатили.

Естественно, он бы не выдержал в тот момент никакой особой нагрузки, но и никто же в него не пошел. Мы пошли искать, как его дальше продвигать. Быстренько купили рекламу на Яндекс Директе за пять тысяч рублей в месяц, вставили туда максимально плохой текст, самые плохие картинки, которые нашли, и начали искать сайты, которые агрегировали аналоги зарубежных сервисов в российском ПО. Наткнулись на пару таких, разместились там, пошел трафик. Начали приходить интересные клиенты, задавать вопросы. Естественно, им функционала было недостаточно на тот момент, но появились первые пользователи, которые начали использовать систему на ежедневной основе. И мы стали активно собирать обратную связь с них. Собственно, так началось.

После того, как у нас пошли пользователи на Yonote, мы подумали, что можно было бы выкинуть и чат, потому что у нас есть большие компетенции по управлению Mattermost, и, на самом деле, это и есть тот продукт, который мы предоставляем. Мы не предоставляем пользователям Mattermost – они его могут скачать и запустить. Мы его не продаем. Мы продаем все, что вокруг него и связано с интеграциями, управлением им, поддержкой и тому подобное. Ребята пришли, сказали: «Мы тут чуть подосвободились, давайте выполним эту идею и выпустим в свет». Там оказалось все гораздо сложнее. Пришлось пилить огромную систему рядом, которая управляет этими инстанcами под клиентов.

А что конкретно вы предоставляете лучше, чем просто Mattermost?

Mattermost – это замечательный продукт. И сам по себе для команд до 100 человек он, скорее всего, закроет все потребности. Единственное: если команда достаточно активно общается, то он перестает вывозить нагрузку, и ближе к 500 и больше пользователей просто проседает весь тракт обмена сообщениями, и они начинают приходить с большой задержкой. И в целом получается, что если ты поставил Mattermost и используешь приложение из стора, то ты используешь пуш-нотификации с их тестового сервера, которые заведомо ходят с низким SLA – то есть публичный сервер. Мы предоставляем собственный пуш-сервис, который гарантирует более высокий SLA, то есть быструю доставку уведомлений о новых сообщениях, пуши на телефон. Мы разработали систему кластеризации, которая позволяет нашей версии чата выдерживать сейчас синтетически до 5–10 тысяч пользователей одновременно онлайн.

Как вы этого достигаете, если сам продукт не рассчитан на такое?

Enterprise-версия рассчитана, но это совсем другой бинарник, и его можно только купить. Естественно, купить из России нельзя.

То есть вы просто сделали свою Enterprise-версию Mattermost?

Можно так сказать. Естественно, мы сделали ее, скорее всего, не так же, как Mattermost сделал. Просто мы примерно похожим принципам соответствуем. Мы реализовали кластеризацию, можно запускать в репликации сколько хочешь инстансов; сделали возможность подключать реплицируемую базу данных, чтобы отделить мастера от read-реплик, потому что после того, как мы ускорили Mattermost, начала страдать база: она перестает вывозить, и ее нужно тоже реплицировать.

И размещаете вы решения на серверах клиентов?

У нас два варианта. Наше основное решение – это облако, то есть мы предоставляем SaaS-сервис. Есть on-prem-версия, она не отличается от облачной, но, естественно, требует менеджмента со стороны клиента. Дело в том, что чаты – это вообще капризная штука. Нет проблем, если у тебя 100 пользователей, может быть, не будет проблем до 500, но выше уже начинаются сложности, очень быстро диск надо расширять, он забивается активно. Чем активнее растет компания, которая использует чат или, например, активнее в него внедряет людей, тем быстрее у него начинает падать перформанс, и за ним надо следить. Он требует очень большого ухода, и нужно регулярно поддерживать вот это состояние аптайма, потому что на мессенджерах завязана вся коммуникация в компании. Если он отваливается, просто теряются связи между людьми. А еще если у тебя туда завязана техподдержка твоих продуктов для клиента, то отвалился чат – у тебя отвалилась поддержка продуктов, и страдает уже твой бизнес.

А в облачной версии какой-то SLA гарантируете?

Мы не можем гарантировать больше, чем предлагает нам Яндекс Облако, потому что у нас кластер находится основной там. По-моему, Яндекс Облако сейчас дает 99,99% времени, и в целом мы так же предлагаем клиентам, потому что это около восьми часов в год, если не ошибаюсь, SLA. Нам этого за глаза для всех наших процедур, обновлений и всего остального. У нас инциденты, они если и случаются, то короткие. Час-два – это самые длинные инциденты. Самые короткие длятся буквально минуту-две, и чаще всего их заказчик не успевает увидеть.

«Жжем все бабки, которые есть». Как краснодарская аутсорс-компания WILIX разработала аналоги Notion и Slack

Что лучше летит: Yonote или Loop?

Это абсолютно два разных вида взаимодействия с клиентом. Loop – это больше B2B платформа: приходит клиент, у него сколько-то пользователей, и он за них, по сути, решает, что они будут пользоваться вот этой системой. Yonote тоже работает как B2B, но большая часть пользователей – это все-таки просто люди. То есть это B2C. Там сейчас около 30 тысяч пользователей, большая часть из них для нас просто физлица, которые оплачивают картой свои подписки или вообще пользуются бесплатным тарифом. Около двух тысяч, наверное, пользователей платят.

В плане известности Yonote идет лучше. На Yonote уже выпускают сторонние для нас люди видеообзоры на YouTube, пишут статьи, делают обучающие какие-то ролики или еще что-то по нашей системе, добавляют в резюме себе, пишут Notion/Yonote. Про Loop так не делают, то есть Loop просто покупают.

А почему физлица пользуются бесплатной версией Yonote, а не Notion?

Потому что есть вероятность, что Notion выгонит и бесплатников, как это Slack сделал.

И люди настолько беспокоятся, что идут и ищут аналоги?

Из Notion нельзя сделать полную выгрузку пространства, не оплатив. То есть они [пользователи] сейчас могут бесплатно сидеть на нем, создать себе большую базу знаний, выстроить продажи. У нас много школ, которые учат английскому языку и еще чему-то. Они выстраивают свои продажи, у них там есть таблички, они ведут своих студентов. И завтра Notion говорит: ну, все. Они бы рады к нам переехать, но Notion не даст выгрузить все пространство, пока ты не оплатишь подписку. И им придется все вручную перетаскивать. Они заведомо стараются минимизировать риски.

Юрлица приходят заранее. Они оплатили подписку, когда начались заварушки, вперед на год, она начинает заканчиваться, они чувствуют, что пора, ничего лучше не становится, продлить ее они не могут, и ищут аналоги. Находят нас, приходят и начинают потихоньку перетаскивать данные. Работают дальше в Notion, но к нам бэкапят. И в какой-то момент эти компании переходят к нам полностью.

Сколько денег потратили на продукты и их продвижение за два года?

На оба ушло примерно по 30 миллионов рублей. Это зарплата людей без серверов и дополнительных расходов на административные нужды.

А в маркетинг вы когда-то вкладывались, в серьезную рекламу, кроме этих пяти тысяч рублей в Яндекс Директ?

Нет, мы положили пять тысяч рублей, они лежали там месяца четыре, расходовались по чуть-чуть. И потом мы начали просто каждый месяц класть по пять тысяч рублей, добавили чуть бюджет, больше мы ничего не делали. Попытались на VC.ru написать одну статью, потом руки перестали до этого доходить. И вот только сейчас мы приходим к тому, чтобы заняться каким-то маркетингом. В Yonote у нас основной маркетинг – это канал с обновлениями, в который мы постим новый функционал, как им пользоваться. И сейчас начинаем уже наращивать базу знаний уроками и шаблонами, чтобы люди могли заходить и видеть, как этим можно пользоваться.

У вас был какой-то изначальный бизнес-план чёткий: мы вкладываем столько денег, и тогда-то это окупится? Или вы просто сломя голову бросились это делать, и так оно и летит?

Мы изначально двигались без плана. Но план был такой, что мы просто выкатим демки – это не стоило дорого – и посмотрим, что будет дальше. Только мы выкатились, на хайпе вот этой волны сразу пришли достаточно крупные компании и начали проявлять интерес. Нас это очень сильно забустило, мы решили, что раз оно так сразу произошло, то жжем все бабки, которые есть, пока есть. Конечно, у нас работает сарафанное радио в чате, и клиентов приходит мало, но они большие. Они долго принимают решение, они долго смотрят и потом заходят большой пачкой.

В Yonote доля корпоративных клиентов – это большая часть выручки?

Да, это большая часть выручки. В целом это средние команды до тысячи человек, наверное, даже больше — до 500, потому что компания большая, а приходит маленькая команда. Сейчас очень модно разбивать решения внутри организации на разные платформы: кто-то использует внутри Confluence, кто-то использует нас, кто-то продолжает сидеть на Notion, еще на чем-то. Есть абсолютно изолированные подразделения, например, HR-команда, она своей документацией не взаимодействует ни с кем другим из команд, их задача – отдать какой-то другой результат работы, нежели документацию. И так достаточно много подразделений бывает, которые не связаны с другими подразделениями, но им нужен продукт, который им удобен.

А какие цены у вас на Loop и на Yonote?

Loop в облаке стоит 279 рублей за pro-тариф за пользователя в месяц. Enterprise-тариф будет стоить по-разному – в зависимости от метода установки. В целом средняя компания может рассчитывать на 250 рублей за пользователя в месяц. Yonote стоит 249 рублей за пользователя, on-prem стоит значительно дешевле, и он тоже от количества пользователей зависит. Дешевле, потому что не платишь за серверные мощности. Мы выбрали тип лицензирования подписочный и для on-prem, и для облака, потому что мы так можем держать низкие цены и при этом постоянно дорабатывать продукты, доставлять пользователю, заказчику актуальную версию всегда.

А как вообще вот ценообразование определяли?

Берёшь цену Notion, делишь пополам, переводишь в рубли и ещё чуть-чуть уменьшаешь (смех). Пополам – потому что продукт как минимум напополам хуже.

Наша задача сейчас – привлечь как можно больше пользователей, поэтому мы стараемся делать цены низкими и вообще не планируем их особо поднимать. Сейчас еще вводим дополнительный тариф на Yonite – 149 рублей – для индивидуальных ользователей, которым не хватает места в облаке на диске. Цена за кружку кофе.

Вы самые крупные подобные сервисы по импортозамещению в России или есть конкуренты сильные?

По Yonote, скорее, нет аналогов настолько похожих. Наша фишка – именно в похожести UI и механик. Это не значит, что мы просто скопировали Notion внешне, это не так просто сделать. Стили-то можно перетащить, но у Notion слишком богатая механика взаимодействия с пользователем, и ее очень сложно повторять. Честно, я в восторге от самого Notion, потому что когда ты разрабатываешь такое же решение, ты видишь, что ты делаешь, потом идешь в Notion и смотришь, как они это сделали, и понимаешь, насколько они сильно вкладываются в возможности кастомизации со стороны пользователя. У них все очень гибко. И мы стараемся учиться преследовать эту же парадигму.

У Loop много конкурентов, и у Yonote тоже много конкурентов, но это не те же системы. Именно чатов – да, много, основных, наверное, четыре-пять на рынке. Это Пачка, это eXpress, можно VK Teams причислить, но это, все-таки, немножко по-другому – это больше для менеджерского состава.

Основная часть конкурентов также Mattermost под капотом имеют?

Нет, публично Mattermost, как мы, никто не размещает, насколько я знаю. Есть решение у Тинькофф – TiMe, они писали статью о том, что они взяли Mattermost. Мы когда увидели статью (к тому моменту Loop уже существовал и работал), не думали, что они реально пойдут продавать его, потому что это как-то не свойственно банкам, как по мне. Но у нас опять-таки с ними разный контингент, разный подход к клиентам.

Какая идея нашего продукта? Помимо того, что мы предоставляем облако плюс бесплатно, мы планируем развивать экосистему вокруг продуктов, то есть заниматься активно DevRel для того, чтобы появлялись сторонние интеграции от наших же клиентов или от сторонних пользователей. То есть самая главная для нас задача – это чтобы начали вырастать какие-то сторонние разработчики к нашему продукту. Поэтому мы пилим очень много документов сейчас, как пользоваться API, примеры, как сделать такого-то бота, и нас зачастую выбирают именно из-за количества интеграций. Мы предлагаем из коробки достаточно много различных плагинов и интеграций с существующими системами российскими.

Почему вы отказались от аутсорса?

В аутсорсе мы старались брать крупные проекты, а не много маленьких. Это тоже очень хороший вариант – брать много маленьких, но у нас как-то так не сложилось в компании, нам было проще брать большой проект и на него кучу людей выделять, или два больших проекта (для нас больших, я имею ввиду). И в этом во всем требовалось мое участие для начальной коммуникации с заказчиком, выстраивания каких-то отношений, чтобы потом туда внедрять PM, которые дальше продолжат эти отношения. Но, естественно, заказчик в любой момент звонит именно мне, с PM общаются его люди. То есть у него свои, у нас свои, они между собой общаются, но если у заказчика припекает – мне звонят. И я понял, что разрабатывать продукты – мы начали разрабатывать продукты, еще пока длился аутсорсинг – стало очень сложно. Сложно совмещать мое время и сложно выдергивать ресурсы для продукта. Как раз аутсорс у нас закончился, время освободилось, и я полностью погрузился именно в продуктовую часть.

Нужно ли как-то перестраивать процессы компании, чтобы с аутсорсных рельс пойти на продуктовые?

Да. Аутсорс – такой нормальный аутсорс, когда мы работаем по какому-то ТЗ или по Agile, когда ТЗ меняется постоянно – подразумевает, что у тебя есть некая Scrum-команда или несколько Scrum-команд, и, по сути, вы пилите продукт, который вы продаете потом. С продуктом вроде бы то же самое, но не совсем. Во-первых, нам пришлось пересобрать все команды. Те, кто уже подустал от аутсорсинговых новых проектов, пошли на аутстаф добровольно, остальные остались висеть в воздухе. И под каждый продукт мы собрали новые команды по стекам или по компетенциям, которые могут пригодиться.

Пришлось разрабатывать систему поддержки пользователей – не в плане приложения, а в плане «как их поддерживать». То есть что такое первая линия для нас, что такое для нас вторая и третья линии, как запросы пользователей должны попадать в разработку, если это требуется. Вот эту компетенцию нам пришлось выращивать. Не скажу, что у нас прям суперподдержка, но она работает и в целом достаточно оперативно отвечает. В рабочее время — в течение часа, а в нерабочее время – или утром, или в течение трех часов тоже бывает. Мы хотим попробовать круглосуточную поддержку. Пока не требуется особо, но уже кажется, что пора хотя бы идти в эту сторону. Это было для нас новое.

Оба продукта в большей степени – это не та поддержка, когда говорят: «Нажмите на ту-то кнопку». Это что-то более сложное, потому что есть чат, туда не может зайти пользователь, он пишет нам в поддержку: «А меня не пускает». А не пускаем-то его не мы, а актив-директори организации. И просто саппорт может сказать: «Ну иди к своему админу и порешай». Мы предоставляем другой саппорт. Берет наш специалист данные от пользователя, почту или ID, идет к клиенту. У клиента практически всегда есть сотрудник, который с нами коммуницирует. Мы ему передаем эти данные, спрашиваем: «Все в порядке, он там включен, или, может быть, он деактивирован, или еще что-то?» С ними решаем и возвращаемся к пользователю с ответом, что ему сделать. Или перенаправляем его на внутренние какие-то ресурсы, если у него сложная ситуация. То есть получается, мы всегда с клиентом общаемся по пользователям и поддерживаем их пользователей через нас.

Планируете ли привлекать инвестиции?

Сначала планировали, а потом начали понимать, что сложно будет объяснить, зачем нам нужны деньги, если мы можем платить за разработку. Просто нам не очень комфортно платить за разработку. На нашем этапе, когда у нас уже есть клиенты и поставлена разработка и просто нет маркетинга, например, просто привлечь инвестиционные деньги уже будет сложно. Инвестор придет и скажет: «Да возьмите кредит, ну зачем мне вам платить…»

Почему бы не продаться интегратору?

Пока не хочется. С точки зрения бизнеса это очень тупо, но мне нравится то, что я делаю. Я хочу это делать и не быть другим лейблом, я хочу пока это делать под своим, пока мне нравится. Если мы продадимся, и это будет уже не WILIX, и буду уже я за кем-то, то у меня пропадет стимул именно вникать в продукт, придумывать новые фичи, сидеть с командой, брейнштормить, еще что-то. Просто станет менее интересно, наверное. Скажу честно, мы смотрим в эту сторону, но пока что, если поступают какие-то предложения, потихонечку сливаемся. Сказать жестко «нет» не хватает духа, сказать жестко «да» – тоже, сколько денег мы хотим, нам не дадут.

«Жжем все бабки, которые есть». Как краснодарская аутсорс-компания WILIX разработала аналоги Notion и Slack

А за сколько бы вы продались сейчас? За миллиард рублей продались бы?

Вот тут уже интересно (смех). Надо подумать. Просто кажется, что если мы сможем выйти на окупаемость и вырастим вокруг комьюнити, которая будет интересоваться продуктами, как с 1C… Есть и другие примеры, тот же amoCRM, тот же Astra Linux – хоть он и позволяет разворачивать у тебя все, но наверняка уже какие-то компании пилят конкретные штуки именно под Astra и то, что там есть. Я знаю, у Astra есть своя система авторизации, похожая на Active Directory, наверняка в нее интегрируется. Но это более закрытая система, мы хотим быть большой публичной российской системой, в которую все могут добавлять свои расширения.

А тебе не кажется, что все это закончится, когда закончатся санкции?

На самом деле, некоторые думают, что это наш страшный сон, что санкции закончатся и мы пойдем в лето, туда куда-то. Я думаю, будет не так, потому что сейчас любая крупная компания не позволит, скорее всего, себе пойти в зарубежный сервис обратно, потому что завтра очередное что-нибудь, нас опять отрезают, и им опять нужно возвращаться в российский сервис. И это дорого. Чем больше компания, тем дороже переезд. Если у тебя полторы тысячи сотрудников, их из одного чата перетащить в другой чат – это огромная работа. Это не просто данные перетянуть и подключить авторизацию. Это работа HR и людей, которые отвечают за внутренние сервисы компаний: 50 раз оповестить, сказать, когда все прекращается, убедить, что не будет все плохо, нормальный мессенджер, идите потестите, еще что-то. И очень сложно не потерять по пути этих людей, чтобы они не поотваливались в телеграм – иначе теряется суть корпоративного мессенджера.

А обратная история: вам пойти во внешний мир, в соседние страны, на мировой рынок?

Нас об этом часто спрашивают, но пока нет смысла абсолютно, потому что функционально UX или вообще набор функционала отстает от большинства крупных сервисов, которые уже есть. Да, есть варианты пойти в Арабские Эмираты, нас туда уже несколько компаний пытаются привлечь, мы с ними сейчас обсуждаем партнерство – то есть мы не сами туда раскатываемся, а они будут нас там продавать не как продукт, а как продукт над продуктом. То есть они что-то делают у нас, и вот это все в совокупности продают дальше. Скорее всего, туда мы начнем двигаться, но сейчас надо укорениться где-то в одном месте и не распыляться.

Свои продукты помогли привлекать клиентов к аутсорс-бизнесу? Вот эта надпись – buy WILIX – на Yonote и Loop помогает?

Нет, не помогает, скорее наоборот: тем, кто у нас заказывают аутстафинг, когда они узнают, что у нас есть продукты, становится интересно.

Случались кросс-продажи?

Да. Общаешься, когда уже долго с клиентом работаешь, говоришь:

– Да мы тут еще продукты пилим, там у нас есть эти разработчики, но мы не дадим их.
– А какие продукты?
– А вот такой и такой.
– О, а нам вообще-то интересно, мы вот сейчас рассматриваем...

И с этого момента начинаем показывать клиентам, если они хотят. Агрессивно не продаем, потому что туда уже идут продажи и там выстроены другие отношения. Пару раз сконвертировалось, но это прямо нечастый кейс, и так как у нас плохо с маркетингом, мы общаемся не с теми людьми, которые должны принять решение по продуктам. И нам нужно дать этим людям какую-то информацию, чтобы они передали дальше. Вот это у нас пока хромает, сейчас будем подтягивать активно.

Выпуск подкаста «Что‑то на программистском» с Дмитрием Алояном смотрите на YouTube‑канале Doubletapp, аудиоверсию слушайте на удобной площадке.

У нас уже вышли подкасты с head of architecture в Xsolla Петром Туголуковым, ML-разработчиком из Сбера Кириллом Овчинниковым, экспертом по Канбан Методу Алексеем Пименовым и другими спикерами.

Подписывайтесь на канал и смотрите свежие выпуски.
22
Начать дискуссию