В 2018 году я случайно наткнулся на проект с быстрыми онлайн-лотереями. Я немного поиграл, и меня зацепила простая механика.
Весь игровой процесс происходил прямо на главной странице. Пользователь попадал в одну из комнат, которые отличались минимальной ставкой. Первый игрок делал ставку и ждал второго. Как только появлялся второй участник, запускался таймер на 60 секунд. В течение этой минуты к игре могли присоединяться другие игроки, а уже участвующие — увеличивать свои ставки.
Вероятность выигрыша зависела от размера ставки относительно общего банка. Если один игрок поставил рубль, а второй — два, шансы составляли примерно 33% против 67%. Если через десять секунд приходил третий и ставил десять рублей, вероятности пересчитывались. Кто-то заходил с небольшой суммой в надежде на удачу, кто-то увеличивал ставку по ходу розыгрыша, кто-то ждал последних секунд и заходил с крупной суммой. В общем, каждый пытался придумать какую-то свою стратегию, пытаясь каждый раз сорвать банк.
Через минуту случайным образом определялся победитель, который получал общий банк за вычетом комиссии сервиса. После этого начинался следующий раунд. И так далее…
На тот момент у проекта был стабильный онлайн в несколько сотен человек, иногда доходивший примерно до тысячи. Поэтому играть всегда было с кем, и мне это показалось довольно интересным.
Привлекала и сама бизнес-модель. Площадка не играла против пользователей, а предоставляла им место для игры друг с другом и получала процент с каждого банка. Если одновременно работают несколько комнат, а розыгрыши происходят практически каждую минуту, даже при относительно небольшом онлайне экономика выглядела довольно интересно и перспективно.
Я показал сайт другу и по совместительству коллеге (на тот момент мы вместе работали на фул-тайм в одной компании) и предложил сделать аналогичный проект. Мы оба были разработчиками, проект технически выглядел несложным, а заодно давал возможность получить опыт с real-time, которого у нас на тот момент практически не было.
Итак, обсудив детали реализации, доли в будущей компании и то, как будем делить будущий миллион, мы ринулись в бой — кодить.
Мы сделаем то же самое, только намного лучше
У оригинального проекта была авторизация только через ВКонтакте (когда-то им пользовался весь Рунет) — мы решили добавить обычную регистрацию и несколько других социальных сетей. Также у него была довольно большая комиссия с каждого розыгрыша — мы собирались брать меньше. Кроме основной механики мы задумали добавить джекпоты, дополнительные розыгрыши, чат, рейтинг игроков, достижения, бейджи, статистику удачи и еще целый набор функций.
То же касалось платежей. Если оригинал поддерживал только один вариант пополнения, у нас их должно было быть значительно больше.
Логика на тот момент казалась вполне разумной: если уже существует работающий продукт с сотнями пользователей, значит, мы берем ту же идею, делаем продукт лучше, функциональнее, удобнее и дешевле для игрока и получаем свою долю рынка.
Мы договорились делать проект 50/50, заказали и оплатили дизайн, начали разработку. В качестве основы использовали привычные нам PHP и Laravel, а параллельно разбирались с Node.js и real-time-частью игровой механики.
Все это происходило после основной работы. Сейчас многие технические вопросы можно за несколько минут разобрать с помощью нейросети и зачастую сразу получить рабочий прототип. Тогда практически каждую незнакомую технологию приходилось отдельно изучать, читать документацию, экспериментировать, и только после этого получалось что-то рабочее.
Работа постепенно двигалась, но объем работы оказался значительно больше первоначальных ожиданий. Простой, казалось бы, проект стал разрастаться в солидную инфраструктуру. За несколько месяцев разработки мы смогли неплохо продвинуться по бэкенду, однако впереди были еще фронтенд, админка, кабинет пользователя, бесконечные тесты и деплой. В общем, немного мы приуныли, но сдаваться не собирались.
Мы решили, что проблема во фронтенде. Значит, нужно звать фронтендера
Спустя чуть больше трех месяцев работы над проектом у нас были неплохо подготовленный бэкенд и прототип самой игры. С виду казалось, что осталось докрутить совсем немного: подключить платежки и… А, да, у нас уже был готовый дизайн, но совсем не было верстки (да, ее тогда делали вручную). Так как верстать не любили ни я, ни мой коллега, мысли о том, что все это нужно упаковывать в красивый оптимизированный фронтенд, начали нас пугать. Мы были уверены, что решение вопросов с фронтендом поможет нам запустить проект. Поэтому обратились к нашему коллеге (все из той же компании) с предложением войти в долю.
Он любезно согласился, а мы обрадовались и с новыми силами взялись за дело. Спустя еще два месяца мы немного продвинулись. С виду казалось, что осталось докрутить совсем чуть-чуть: подключить платежки (легкое дежавю), докрутить админку, исправить тонну багов — в общем, отшлифовать проект.
А что касается приглашенного нами фронтендера… Иногда люди не умеют или просто не могут сказать «нет» в силу загадочных причин (либо «неудобно», либо переоценил себя, либо что еще). В итоге было готово около 20–30% от плана, и звучали вечные обещания: «Скоро все будет». Спойлер: скоро так и не наступило.
Тем временем происходило кое-что гораздо более важное.
И тут оказалось, что просто писать код недостаточно
Пока мы разрабатывали свою улучшенную версию проекта, которая должна была быть в 10 раз лучше оригинала, начали появляться аналоги. Сначала несколько. Потом еще несколько. Точное количество я не знаю — я лично наткнулся примерно на десяток. И самое неприятное заключалось даже не в количестве конкурентов. За те месяцы, которые мы потратили на разработку большого продукта (работая по вечерам после фултайм-работы), другие команды успели реализовать практически все идеи, которые мы считали своими преимуществами.
К этому моменту, когда рынок был уже доверху заполнен подобными сайтами, наши дела обстояли примерно так:
- Около полугода разработки;
- Готова большая часть продукта (с багами и косяками, но что-то работало);
- Уже существовала сырая демоверсия на собственном домене;
- Работала основная механика, проект можно было тестировать;
- У нас все еще не было платежек и админки.
И если админка была не самой большой проблемой (мы, как разработчики, смогли бы первое время все администрировать через базу и код), то вот прием платежей играл решающую роль в вопросе полноценного запуска.
И именно здесь технический проект неожиданно перестал быть только техническим.
Суровая реальность и legal
До какого-то момента мы в основном решали знакомые разработчику задачи. Пусть некоторые технологии были новыми, мы были в своей родной стихии — находили документацию, изучали, разбирались и писали код. На тот момент ни у кого из нас не было опыта решения бизнес-вопросов, связанных с запуском проектов. То есть мы не просто не умели решать бизнес-задачи, мы даже не думали о них.
Проект создавался прежде всего под аудиторию стран СНГ, поэтому нужно было принимать рубли, гривны и другие валюты, пополнять внутренний баланс и позволять пользователям выводить выигрыши. И тут выяснилось, что далеко не все банки и платежные системы готовы работать с лотереями без лицензии.
Следом появился вопрос юридического оформления. Нужна ли компания? Где и как ее регистрировать? Сколько это стоит? Какие требования предъявляются к подобным проектам? Какие платежные системы и банки после этого согласятся нас подключить?
Пока мы смотрели на всю эту кучу вопросов и думали, что с этим делать, в игру вступили новые факторы. Наши уникальные дополнительные функции перестали быть уникальными еще до запуска. Большое количество одинаковых сервисов размыло аудиторию. Онлайн на некоторых проектах падал настолько, что периодически игроку просто не с кем было начинать новый розыгрыш. Некоторые из недавно появившихся конкурентов постепенно начали исчезать.
Закрылись раньше, чем запустились
Наш проект был уже задеплоен и доступен для просмотра в публичном доступе. Хостился он у российского провайдера. И несмотря на то что мы еще даже толком не запустились, мы получили официальное уведомление о нарушении требований российского законодательства от Роскомнадзора.
Суть письма сводилась к тому, что, согласно законам Российской Федерации, мы обязаны прекратить свою деятельность. Следом было письмо о том, что наш хостер не имеет права обслуживать такой проект без лицензии и, если мы его не уберем в течение недели, аккаунт будет заблокирован.
Нужно было искать абузоустойчивый зарубежный хостинг, который стоил заметно дороже. Нужно было продолжать разбираться с юридической частью и искать платежные решения. Нужно было закончить проект, протестировать его и устранить дефекты. Нужно было продолжать конкурировать с уже запущенными аналогами. Нужно было заниматься продвижением. Было слишком много «нужно было».
Каждая из этих проблем по отдельности была решаемой. Однако в совокупности это была непосильная ноша. За несколько месяцев идея прошла путь от «сделаем интересный проект, получим новый опыт и заработаем» до довольно длинного списка задач, большая часть которых вообще не имела отношения к написанию кода.
В какой-то момент мы просто перегорели и перестали видеть достаточно причин, чтобы продолжать. После обсуждения ситуации мы решили закрыть проект.
Выводы
Сегодня подобный список проблем для меня выглядит как обычный набор задач, которые необходимо последовательно изучить и решить. У меня уже есть опыт регистрации компаний, прохождения комплаенса и решения некоторых юридических вопросов. И во многом своим сегодняшним опытом я обязан именно таким историям с факапами.
Предпринимательский опыт сложно получить исключительно из книг, чужих историй и советов. Значительная его часть появляется после собственных неудач. Один раз ты полгода делаешь продукт до первого запуска — и начинаешь гораздо лучше понимать смысл MVP. Один раз сталкиваешься с платежными ограничениями — и в следующем проекте проверяешь их значительно раньше. Один раз ошибаешься с распределением ролей между партнерами — и следующие договоренности строишь уже иначе.
Есть хорошая фраза:
Неудачи — это плата за успех!
Когда ты уже несколько раз запускал проекты и сталкивался с разными проблемами, они постепенно превращаются в рутинные задачи. И с каждым новым запуском ты эволюционируешь. Главное — уметь анализировать, делать правильные выводы и двигаться дальше.
Хоть у нас и не получилось запустить проект, построить прибыльный бизнес и заработать миллион, мы прошли интересный путь и получили ценный опыт.
К счастью или к сожалению, многие вещи я переосмыслил только спустя годы. И до сих пор продолжаю открывать для себя что-то новое.


