«Я наполовину разработчик, наполовину предприниматель. Если я могу построить что-то быстрое и эффективное, я делаю это сам», — презентует себя на своем сайте Никита Колмогоров. Летом 2021 года он продал бота-антиспамера за 329 000 $. Покупателем стал криптопроект 1inch.io. На момент сделки у бота было 20 703 474 пользователя в 190 621 чатах. Вместе с тем Колмогоров — автор почти трех десятков других проектов. По просьбе Мегаплана он рассказал об особенностях создания продуктов для Telegram и дал несколько советов начинающим предпринимателям.

Бот Shieldy
Идея родилась, когда в мое собственное активное и популярное сообщество в Telegram стало приходить много спама. Сначала я раздал админки активным участникам, но потом стало жалко их времени. Весь спам был однотипным, и баны можно было автоматизировать.
За два дня написал первую версию Shieldy. Это было в 2018 году. Новички в чате либо проходили небольшую капчу, либо отправлялись в бан. Потом несколько лет я добавлял одну новую функцию за другой. Основная часть оставалась простой: добавил бота в чат, дал ему админку — забыл про спам.
Никаких новых решений тут нет, я видел подобное в старых веб-чатах еще в 2007 году.
Очевидные конкуренты Shieldy — это ComBot Федора Скуратова, Controller Bot Олега, а недавно появился бот Miss Rosa. Конкуренты зачем-то пытаются сделать все-все-все в одном боте. Я придерживаюсь немного другой философии: каждый продукт с одной целью-функцией.
На момент их запуска у Telegram был самый удобный API для разработчиков. Facebook Messenger ограничен, группы там редко используются, социальный рост бота обеспечивать тяжело. У остальных мессенджеров типа Viber и WhatsApp плохой API, не могу с ними работать.
Сегодня у меня еще 25 других проектов. Я хочу дойти до миллиарда пользователей, сейчас их более 60 миллионов.
Большин��тво моих продуктов бесплатные, поэтому не так важно для заработка, остаются ли пользователи или уходят. Коммерческий продукт работает на аудиторию, которая пользуется им. Мне это не нужно, поэтому я могу позволить себе не идти на поводу у желаний пользователей.
Идеи, польза и инвесторы
Идеи создания ботов возникают так же, как и для других продуктов. Вижу «боль» — записываю в длинный список идей, которые потом, может, и реализую. В списке есть даже самые безумные, ненужные, глупые или нереализуемые мысли.
В какой-то момент «мышца придумывания» развивается достаточно, чтобы мгновенно находить решения любой боли», которую замечаете. А когда появляется свободное время — открываю список, выбираю самую простую или интересную проблему и решаю ее.
Не нужно искать инвесторов или партнеров, готовых приобрести разработку. Создавайте продукты на пользу людям. Есть польза — будет спрос, а остальное придет. Главное — дать пользователям возможность получить пользу.
Продвигать бота нужно как и любой другой продукт: говорить о нем везде и всюду. У меня есть postyourstartup.com, по этому списку я пощу каждый свой запущенный продукт. Подробнее о том, как продвигать бота, я писал.
Особенности ботов в «телеге»
Одна из проблем ботов в Telegram: они не могут писать пользователям первыми. Поэтому капчу нельзя пройти в личке — только в общем чате. Бот может писать пользователю определенное количество сообщений в час.
Bot API — это то, что мы видим в прямом смысле на bot.telegram.org/api. Это описание основных кейсов и методов работы с ботами в чате.
User API используют все пользователи — телеграм-клиенты. Через него тоже можно делать ботов. Но нет удобных фреймворков под TypeScript или JavaScript, которые я использую.
Поддержка Telegram по ботам не всегда работает быстро и эффективно. Есть ряд хардверных ограничений Telegram API (я так понимаю, что на Telegram API и Telegram Bot API работают две команды).
Каждый раз, создавая популярных ботов, я натыкаюсь на ограничения Telegram. Одно время Shieldy слишком часто делал запросы к Telegram — потому что бот стал очень популярным, — и это давало сбой в работе мессенджера. Компания получает миллиарды долларов, и я — маленький, с серверами по 20 $ — довожу их серверы до 504-й ошибки.
Создаю разработчиков, а не ищу их
Везде использую TypeScript. Это универсальный язык разработки, я могу писать везде на одном языке, контролирую весь процесс. Если я сейчас открою большой проект на Go — буду рвать на себе волосы. Код на нем сложно читать из-за абстракций и ограничений типа отсутствия исключений.
Код Shieldy в открытом доступе, любой может посмотреть на технологический стек. Это Node.js, TypeScript, Telegraf.js, Mongo.
Разрабатываю софт с 2011–2012 годов и не люблю писать код (хотя хорошо умею это делать). Каждый раз, когда у меня получается писать меньше кода, я радуюсь. Поэтому постоянно ищу фреймворки, позволяющие почти не писать. Использую именно этот стек технологий, удовлетворяю свою лень.
К тому же всегда могу найти разработчиков, которые будут писать код с первого дня работы на TypeScript. Им не нужно разбираться в большом проекте на Ruby, например.
Когда мне нужен новый разработчик в команду, я могу найти джаваскриптера. Их много на рынке, и их работа стоит недорого. Обучу за пару суток, а через две недели они будут писать такой же чистый код, как и я. Поэтому не использую, например, редкий Haskell на сервере. Я могу написать на нем функциональный код, но не найду за разумные деньги разработчика, который смог бы поддерживать его после меня.
В моем боте Temply реализованы 4 шага: пройти джаваскрипт-курсы, пройти курсы по NodeJS, разобраться в TypeScript, написать определенный код в определенном репозитории. Эти шаги я выдаю постепенно: один шаг закончен — я даю следующий.
Обучение занимает от 2 до 16 недель. После него новички могут устроиться джуниором в какую-нибудь контору, но их не берут без опыта. А я предлагаю неоплачиваемую интернатуру у меня.
Все мои продукты остаются в продакшене навсегда, эти разработчики могут добавить их себе в портфолио, если они над ними работали.
За два года преподавания в местном буткемпе в Ванкувере я научился быстро выращивать хороших разработчиков из начинающих и нашел себе самые лучшие кадры. На других технологических стеках это было бы невозможно.
Расходы и инвестиции
Я вложил в регистрацию компании в Канаде сумму в 350 $. Она называется Borodutch Labs Inc. Через нее оплачиваю работу контрактерам.
Я выступил соучредителем еще в одной компании. Недавно в нее инвестировали Samsung, Slow Ventures (они вкладывали в CoinBase, Robin Hood, Citizen) 655 000 $. Эта компания развивает псевдонимную социальную сеть Dosu. Там нет привязки к личности, но можно использовать социальный капитал других площадок.
Если говорить о расходах, то у меня есть пул дизайнеров, с которыми я сотрудничаю на основе почасовой оплаты. То же самое с программистами: большинство из них были новичками, однако спустя пару-тройку месяцев работы со мной они научились писать код уровня мидл-разработчиков.
На оплату их труда в основной компании в месяц уходит около 2500 $. Если сравнивать с рынком, это сопоставимо с зарплатами одного сеньора или мидл+ в Европе или СНГ. А у меня четыре сотрудника, некоторые из них на частичной занятости. Стараюсь делать так, чтобы все работали не более 40 часов в неделю. У всех должна быть личная жизнь.
На серверы трачу примерно 250 $ в месяц, на все проекты. Это копейки. Компания, конечно, зарабатывает гораздо больше.
Shieldy хостился на DigitalOcean на дроплете за 20 $ до покупки 1inch. Где он хостится сейчас и на каком сервере, лучше спрашивать у команды покупателя. Масштабировал тоже просто: в Node.js и в Mongo есть отличные встроенные инструменты как вертикального, так и горизонтального масштабирования. Минут 20 можно почитать документацию — и быстро все развернуть.
Токсичность в России и критика на глобальном рынке
Первое правило ведения IT-бизнеса: не надо делать его в России. Русскоязычная аудитория не любит платить, но очень любит ненавидеть. Если вы не собираетесь обманывать и строите честный бизнес — переводите продукт на английский и начинайте с зарубежных рынков.
Когда я постил что-нибудь на VC, то сталкивался с большим количеством хейта. Научился использовать этот гнев, не принимать близко к сердцу. Отвечал на каждый комментарий, так хейтеры только повышали популярность текстов.
Посмотрим на Reddit: у меня там есть критические комментарии, но они не токсичны. Человек может спокойно объяснить, где есть ошибки. Он не говорит: «Ха, лохонулся, у тебя ошибка, ахаха».
Хотите запускаться на русском комьюнити — пожалуйста. Но обязательно переведите бота хотя бы на английский. Voicy отчасти стал популярным, потому что на старте его перевели на 20–25 языков. Первые 50 тысяч пользователей пришли из Ирана. Для понимания: персидского языка в боте не было, потому что один из бесплатных движков отключил его у себя. Изначально в Voicy был персидский, что дало первых 50 тысяч пользователей из Ирана. Спустя примерно год, в 2018-м, движок бесплатного распознавания речи отключил персидский. В 2021 году у Voicy уже 12.6M+ пользователей.
Главный совет: не пилить продукты месяцами или годами, а запускать за 1–2 недели. Слишком много людей пишут что-то гигантское и комплексное, выпускают на рынок, а это оказывается никому не нужным.
Нужна польза, которую продукт будет приносить. Малую пользу большому количеству людей, либо огромную пользу малому количеству людей.