Как сделать первый (и до сих пор лучший) продукт в нише, не имея конкурентов, референсов, без корпоративных практик и образования.

Спойлер. Перед вами - ОЧЕНЬ длинный лонг-рид о 9-летнем пути к собственному продукту.

Всем привет. Меня зовут Николай Гончарик. Я - профессиональный трейдер косметическими предметами (или проще говоря - скинами) из онлайн-игр, таких, как Counter-Strike и DOTA2 и создатель XBOT - бота для полностью автоматической торговли скинами. Так же я веду Telegram-канал о торговле с моим ботом и показываю свои результаты.

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

С чего всё началось

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

На тот момент, у меня не было работы (желания работать по найму было ещё меньше), свободных денег, в общем, я едва сводил концы с концами. С детства я был заядлым геймером, и на тот момент я регулярно играл в DOTA2. Время от времени игра дарила мне дешёвые скины (ценой 1-10 рублей) за то, что я регулярно играю и в итоге я имел инвентарь, стоимостью ~50 рублей.

Мои первые сделки.
Мои первые сделки.

Сперва я продал все свои вещи, и начал вручную (как мой друг), искать вещи, которые можно купить дешевле, а продать дороже.

Как понять, что я смогу продать вещь дороже, чем купил и получить профит?

У каждой вещи есть график истории продаж, и список текущих предложений на продаже, т.е. можно оценить количество и цену каждого предложения, а смотря на график, можно невооруженным глазом оценить шанс успешной перепродажи, если вы хоть как-то умеете анализировать.

По этому графику очевидно, что вещь может приносить очень неплохой % с продажи.
По этому графику очевидно, что вещь может приносить очень неплохой % с продажи.

Если график вещи кажется выгодным, следующий этап - нужно примерно понять предел цены, дешевле которой стоит эту вещь покупать, затем - подписаться на уведомления о появлении этой вещи в продаже и... ждать, пока кто-то решит её продать по цене, ниже той на которую мы подписались.

Тут начинается самое (не)интересное

Как только кто-то выкладывает в продажу вещь по "нашей" цене - нужно как можно быстрее:
1. Кликнуть на браузерное уведомление, переводящее нас на страницу вещи, нажать кнопку "Купить" и затем нажать "Подтвердить".
2. ЕСЛИ вам повезет и вы сделаете это раньше кучи других желающих - рано радоваться, нужно ещё дождаться, пока продавец передаст эту вещь боту-хранилищу площадки, а площадка - передаст эту вещь вам.
И только после этого вы станете обладателем данного ценного актива, из которого мы и собираемся дальше сделать профит =)
Теперь уже мы выставляем купленную только что вещь на продажу, но уже на 10-20% дороже, в зависимости от того, насколько дорого её есть шанс продать, согласно графику продаж.

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

Так выглядит окно обмена в Steam
Так выглядит окно обмена в Steam

Автоматизация ч. 1

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

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

От идеи до реализации прошёл максимум день. И вот, я уже пишу тому самому другу-трейдеру, с предложением купить мой кликер за 1000 рублей (с ним он смог бы освободить львиную долю своего времени, а я - увеличить капитал в торговле в ~20 раз), но по непонятной мне причине, он отказался. Впоследствии он пожалел об этом и обиделся, потому что предложение было единоразовое, заработать себе ту же 1000 стало лишь вопросом нескольких дней.

Весь процесс работы трансформировался. Моя главная задача быстро перетекла в плоскость анализа рынка. Ежедневно я просматривал сотни графиков, оценивая потенциал выгодности вещей, считал в уме цены и подписывался на уведомления, а в случае покупок я получал звуковые уведомления и бежал к компьютеру, скорее принимать обмены в Steam =) Капитал рос, увеличивался средний чек сделок и профит в абсолютных величинах, и мне казалось, что меня уже ничто не остановит...

Автоматизация ч.2

Летом того же года, появилась аналогичная площадка по очень быстро набиравшей популярность Counter-Strike: Global Offensive (коротко - CS:GO), динамика торговли и профит там были значительно выше и я быстро перебрался туда, после чего к торговле скинами DOTA2 не возвращался.

С переходом на CS:GO, сделки начали выглядеть так. Быстро росла оборотка, средний ценник вещи и профит.
С переходом на CS:GO, сделки начали выглядеть так. Быстро росла оборотка, средний ценник вещи и профит.

Позднее, в этом же году, у площадки появились очень важные изменения:

1. Система запросов на автопокупку. Вместо подписки на цену и кликов, достаточно было выставить запрос по определенной цене, и если кто-то желал быстро продать вещь, её автоматически выкупал тот, чей запрос является в моменте самым дорогим.

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

На фоне этого, мой кликер потерял какую-либо ценность, а я сам стал счастливым пользователем официального бота площадки.

Осталось только одно "но" - официальный бот не был предназначен для перепродажи вещей, и ничего не знал об анализе.

Так и родилась идея моего продукта - бота, ПОЛНОСТЬЮ автоматизирующего все процессы, включая анализ вещей на выгодность.

Такого продукта на тот момент не было в публичном пространстве (хотя частные боты наверняка были), и у меня был шанс стать первым, кто представит такой продукт миру.

Несмотря на то, что я с всегда имел склонность к логическому и аналитическому мышлению, и даже отправлялся на детские курсы программирования, а позже поступил на специальность программиста в университет (который благополучно бросил после 2 курса), программировать я на тот момент не умел и решать вопрос разработки принялся другими методами. Со всем остальным проблем не было - я неплохо на тот момент владел фотошопом, умел верстать в HTML+CSS, умел настраивать контекстную рекламу, строить блок-схемы и примерно понимал свой алгоритм оценки скинов.

Разработка продукта, попытка #1 - на заказ по ТЗ

На тот момент, я ничего не понимал в коммерческой разработке. Я не знал, что разработка продукта - это постоянные итерации, пробы, тестирование, ошибки, бесконечные правки и доработки.

Составив первое ТЗ (дырявое, как дуршлаг), состоящее лишь из базового дизайна и главного алгоритма ("кормилицы", или нормальным языком - базы для MVP) - алгоритма анализа вещей, я принялся искать исполнителей.

Недолго погуглив, я нашёл компанию в в своём региональном центре - Екатеринбурге, которая выставила адекватную цену, и я тут же отправился туда, согласовывать все детали и давать своему стартапу ход. Пожав руки, подписав договор и внеся предоплату, я отправился в родной город, готовиться к запланированному переезду в Москву.

Получилось так, что одним махом из наколенных за пару лет 250.000 капитала, я разом потратил около 70%, а за неимением готового продукта, в Москве мне пришлось жить на грани выживания - всё так же по 8-12 часов в день сидеть и вручную анализировать рынок, и совершать остававшиеся рутинные действия.

Разработчики выполнили мой заказ в рамках ТЗ, но я быстро осознал, что продукт даже близко не был готов - в нём была куча ошибок, он постоянно вылетал, и не обладал достаточно гибкими настройками для адаптации к различным изменениям на рынке. А разработчики почувствовали наживу и за каждую доработку в 5 строк кода просили по 20-40 т. рублей, которые я не мог себе позволить платить...

Итог - полный провал и возвращение из столицы к себе в родной город с последними 30 т. капитала, которые я не успел растратить.

Разработка продукта, попытка #2 - стартап

Мне не свойственно опускать руки и я решил пойти другим путём - стал среди своего окружения искать опытного разработчика для сотрудничества в качестве стартапа.

И я быстро его нашёл. Нас свёл другой мой друг-трейдер, за что я предложил друга тоже взять в проект в качестве аналитика - помогать развивать функционал бота свежими идеями. Никаких бумаг мы не подписывали, договорились все работать на честном слове. Правда, после месяца "сотрудничества" я узнал, что разработчик просто ворует мои идеи и создаёт на их основе собственный продукт (спойлер - его продукт давно забылся и никому не нужен). Друг, поняв, что пахнет конфликтом, самоудалился из проекта, разработчик тоже. Так стартап и распался, едва начавшись...

Разработка продукта, попытка #3

Я снова не стал унывать (как вы поняли, это вообще не про меня), и продолжил искать. Тот же друг в итоге свёл меня с другим разработчиком. Достаточно было одного созвона в дискорде, чтобы всё было решено. Обговорили сроки, договорились подписать некое NDA. Едва положив трубку, я тут же сел за руль и поехал ночью за 500 км, забирать исходники, доставшиеся от первых разработчиков, а уже утром сообщил будущему компаньону, что исходники у меня и я готов приступить как можно скорее.

Мы завели доску в Trello и на протяжении следующих ~6 месяцев, почти без выходных, созванивались с просмотром экрана и разрабатывали своего бота. Я узнал, что такое язык C#, и научился читать код на нём. Очень много нового вообще узнал о программировании. Мы на ходу обсуждали различные идеи, и годные тут же вписывали в доску а затем внедряли.
Весь процесс управления разработкой мне был очень интересен. И я на глазах из трейдера превращался в Product Owner'a, с грейдом Junior =)

Не раз из-за усталости у нас обоих падала мотивация.

Однажды мы поймали затык в одном из ключевых модулей - автоматизации обменов в Steam. Разработчик пробовал различные решения, но заставить обмены совершаться автоматически никак не удавалось, а без этого о полной автоматизации не могло идти и речи - если ты вынужден сидеть у компьютера даже если нужно совершать единственное действие вручную, вся ценность продукта сильно падает. И только благодаря моей идее, мы победили эту задачу и смогли дойти в итоге до релиза. Всё же мы сделали MVP, который умел всё, что требовалось и вот-вот были готовы к появлению на свет. К тому моменту, релиза бота ждали уже не только мы, но и небольшое комьюнити, с которым мы познакомились, будучи просто трейдерами и пользователями другого бота...

Буквально в день планируемого релиза, Steam меняет правила игры

А именно - вводит ограничение на обмены скинов. После покупки, вещь нельзя передавать (читай - выставить на продажу и перепродать) 7 дней. Только представьте уровень паники в сообществе трейдеров - торговля рисковала стать полностью непредсказуемой.

Здесь я должен добавить одну важную деталь - Steam против коммерческой деятельности вне их собственной торговой площадки (откуда невозможно вывести средства), и за это можно получить бан аккаунта и потерять возможность обмениваться вещами. До этого изменения система на площадке, на которой я торговал, работала следующим образом:

Как сделать первый (и до сих пор лучший) продукт в нише, не имея конкурентов, референсов, без корпоративных практик и образования.

Все мои друзья, торговавшие по стратегии "на объём" (т.е. покупали всё подряд, и продавали по рыночным ценам, надеясь на удачу, а она до этого момента благоволила всем, ибо вся индустрия безостановочно росла), сразу же либо вышли из трейда, либо позднее были забанены Steam и потеряли свои средства, больше никогда в эту сферу не возвращались. Но не я.

Моя стратегия в корне отличалась - лучше найти предмет который может принести 1000 рублей и купить его 1 раз, чем купить 1000 предметов по 1 рублю профита и тут же получить бан от Steam.

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

Первые пользователи, реклама

Как убедить человека воспользоваться продуктом про который никто ничего не знает (ещё и в мире нет ничего подобного), обещающим практически пассивный доход? Как убедить человека, что это - не скам, которым наполнен интернет на каждом шагу и что это - безопасно и проверено годами опыта?

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

Так у нас и появились первые отзывы - спам по аудитории площадки дал свои плоды - появилось несколько тестеров, позже оставивших отзывы, а так же, что ещё более важно, мне удалось наткнуться на двух небольших блогеров из этой сферы, которых продукт впечатлил так, что они сами предложили его рекламировать! Пара роликов на YouTube с анонсом и результатами использования продукта, и сарафанное радио сделало остальное.

Рост, пик развития, новое направление

Долгое время всё шло относительно гладко. Продукт дорабатывался и развивался, становился всё более гибким в настройке, исправлялись ошибки, росла аудитория. Людей в целом не пугали баны, кто-то их всё же получал, но на их примерах были найдены закономерности, благодаря которым риск получения банов можно было минимизировать практически до нуля, а в случае получения бана, удавалось даже эти случаи оспорить и получить амнистию от Steam.

Отдельно отмечу - риски (особенно в трейдинге и инвестициях) никогда не будут равны нулю. Для тех, кто хочет найти способ заработать без риска, особенно инвестируя во что-то, мой вам совет - повзрослейте. Даже крупный банк может закрыться, скачок курса валют или геополитическая ситуация может обрушить фондовый рынок, и обесценить ваши активы, вы можете забыть пароль от криптокошелька, и т.д. Нет никакой волшебной таблетки от всех рисков.

Любой результат есть труд, риск и итог вашей адаптации к ситуации.

Вернемся к продукту. Когда прибыль стала значительно расти, я решил пойти дальше. Если с моим ботом доход можно получить только успешно перепродав вещь, то площадка, выступающая в качестве посредника, получает прибыль вообще с каждой операции: с пополнения счёта, вывода средств, и с каждой продажи. А в P2P-модели никакого риска, все риски напрямую лежат на пользователях.

Подумав, я решил собрать небольшую команду и создать собственную торговую площадку для торговли скинами. На тот момент уже было достаточно контактов, позволявших реализовать задуманное.

Мы наняли ещё двоих разработчиков, дизайнера, поделили ответственность, я сделал максимум предварительной работы самостоятельно - придумал название, стиль, взял за основу дизайн площадки на которой работал мой бот, выявил, как пользователь, все её боли в UX\UI, исправил их в прототипе, выявил главные боли бэкенда, анализируя их API и работу сайта, внёс это в общий пул данных для разработчиков, и мы принялись за разработку, параллельно развивая бота.

Поворот не туда и крах системы

Главный поворот не туда совершил я сам, на начале сотрудничества с компаньоном - ради его уверенности в собственной безопасности, доступ к исходному коду имел только он. Думаю вы уже догадываетесь, чем это впоследствии обернётся, но давайте обо всём по порядку.

Задолго до идеи с площадкой, мы не раз хапнули горя из-за ошибок моего компаньона, которые исключительно мне, как продакту, пришлось разгребать (и закончил я только спустя почти 5 лет, в 24 году)
Первый поворот не туда: вся логика нашего бота была написана внутри клиента, и в один момент нас просто хакнули и стали продавать пиратскую версию бота (она существовала вплоть до 2023 года, хоть и беспощадно устарела). После этого мы перенесли алгоритм аналитики на сервер, и продолжили совершенствовать бота таким образом, что пиратка начала очень быстро устаревать и в конечном счёте ей перестали пользоваться.

Второй поворот не туда: когда мы только развивались (в первый год работы), у нас появились "фермеры" - пользователи, имеющие несколько копий бота, и платящие значительно больше рядового трейдера. Они постоянно предлагали различные улучшения продукта, но разработчик уже тогда не хотел ничего делать. Один из фермеров впоследствии просто позаимствовал всю идею, и создал своего бота, и благодаря наличию контакта с самым крупным блогером из нашей сферы, кратно обошел нас в аудитории в самые короткие сроки, а следом нанял целую команду и мой продукт превратился из безоговорочного лидера в роль догоняющего, с чем впоследствии тоже пришлось усиленно бороться.

Третий поворот не туда: разработчик выгорел. Проект разрастался, появилась целая линейка продуктов, но старая архитектура, которая изначально была написана без учёта будущей масштабируемости, требовала слишком серьёзных усилий на поддержку. Встал вопрос о написании приложения с нуля, на новой, гибкой и масштабируемой архитектуре, и через открытый для меня репозиторий на GitHub.

Работа началась... и превратилась в 2.5 летний долгострой. За это время было упущено всё, что только можно: из-за отсутствия решения текущих проблем ушли ключевые пользователи, рынок пережил несколько серьёзных штормов, которые прошли бы для продукта легче, будь он технологически более совершенен, защищен от конкретных рыночных ситуаций. Появилось несколько конкурирующих торговых площадок (упущен момент для максимально эффективного релиза собственной площадки, благодаря чему все силы в итоге оказались если не закопаны, то потрачены "в стол"), прибыль всё время только падала, а разработчик только топал ножкой и говорил "не буду работать". При этом возможности на него повлиять попросту отсутствовали из-за риска потерять весь продукт вовсе.

За эти 2.5 года я перепробовал все доступные ме средства воздействия: премирование, логику и здравый смысл, апеллировал к постоянно падающим показателям, предлагал нанять другого разработчика для решения проблемы - всё было без толку... Работа шла, но безумно медленно, у меня на этой почве начались тревоги и панические атаки и летом 2023 я решил, что состоится последняя попытка разработчика вразумить. Когда вместо адекватного разговора, я вновь услышал детское "не хочу, не буду, как мне всё надоело", я решил для себя - как только будет готов хотя бы минимальный продукт, пре-альфа версия, если можно назвать её так - разработчик будет одним днём уволен и будь, что будет.

С тех пор прошло ещё полгода, работа практически не продвинулась, и 1 декабря я скачал репозиторий, и одномоментно закрыл все доступы разработчику, затем, не без помощи другого специалиста (с которым мы разрабатывали свою площадку) перенёс сервер на новый домен, и за разработку клиента принялся сам.

Новая роль в проекте - Фулстек C# разработчик

Было очень непросто разобраться в коде своего же продукта, но одновременно безумно интересно. Да и мотивация была самая мощная - не остаться без продукта и оставшейся лояльной аудитории. За 7 месяцев работы в этой роли, у меня от силы было ~2 недель выходных, в остальное время я кодил с 6-7 утра и часто до позднего вечера.

Результат этой работы следующий:

Как выглядит мой продукт сейчас:

Как сделать первый (и до сих пор лучший) продукт в нише, не имея конкурентов, референсов, без корпоративных практик и образования.

1. Закрыт весь технический долг, копившийся 2.5 года. Так же исправлены все внутренние боли в коде, о которых я в принципе не знал.

2. Реализованы фичи, необходимость в которых была выявлена уже в процессе работы, а фичи из бэклога реализованы лучше, чем были задуманы.

3. Я знаю код собственного продукта до последней строчки и могу дорабатывать любые его компоненты и модули очень быстро. Реализовал поддержку торговли другими валютами, пересадил бота на новое API площадки и интегрировал вторую торговую площадку (бот стал мультиплощадочным)

4. Получил колоссальный опыт и понимание сложности и объёма работ. В будущем ни один разработчик не сможет водить меня за нос касаемо сложности и объёма работ

5. Изучил изнутри логику работы бота конкурента и понял, что в погоне за своим идеальным ботом, я снова сделал лучший на рынке продукт по всем показателям. Украв мои идеи, (как и все кто делал это раньше) дальше этого ничего продукту дать не смог =)

Весь этот опыт сделал меня хорошим Product owner'ом.

Да, я не знаю досканально или не использую некоторые корпоративные методологии работы, потому что в команде из 1 человека всё это не нужно. Да, в нормальной команде любой компании, все процессы делегируются соответствующим командам.

Каждый хороший управленец знает, что нельзя эффективно управлять группой из более чем 5 человек, поэтому, чем больше команда и компания, тем более она структурирована, и считается, что тем больше формальных подходов и методик нужно соблюдать для эффективности работы, хотя об этом постоянно ведутся споры и в разных компаниях к бюрократии разное отношение. Где-то микро-менеджемент возможно и приносит пользу, а задачи без исключений поддаются разбиению на Scrum-спринты, где-то напротив - нужно больше свободы и гибкости в работе, чтобы делать её эффективнее.

Надеюсь, моя история поможет кому-то не наступать на многие грабли и сделать свои продукты лучше.

22
Начать дискуссию