Лого vc.ru

GuruChess — сайт с шахматными уроками, задачами и виджетом для прямых трансляций турниров

GuruChess — сайт с шахматными уроками, задачами и виджетом для прямых трансляций турниров

Сегодня в рубрике «Стартапы» — сайт GuruChess с шахматными уроками и задачами, интерактивной игровой доской и виджетом, который позволяет сторонним сайтам проводить у себя трансляции мировых шахматных турниров. Передаем микрофон.

Важно вовремя найти нужных людей

Меня зовут Сергей Ефименко, мне 32 года, живу в Москве. Стартапами занимаюсь более пяти лет. Методология Lean Startup позволяет быстро запускать стартапы. Например, идею создать шахматную онлайн-школу мне подкинул мой шестилетний сын. Закипела работа, и примерно через месяц уже был готов сайт со 150 шахматными уроками, с интерактивной доской, шахматными задачами, виртуальным шахматным тренером и открытым API.

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

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

Пока шла съёмка сюжета, меня пригласили на встречу с руководством популярной спортивной газеты «Советский спорт» — вот тут-то всё и завертелось по-настоящему. На встрече был почти весь топ-менеджмент компании — 8 человек. Мы разработали и обсудили план.

До трансляции третьей партии чемпионата мира по шахматам оставалось три часа. Я получил от шеф-редактора газеты письмо с вопросом, сможет ли мой виджет провести онлайн-трансляцию предстоящей партии из Нью-Йорка. «Конечно, сможет», — ответил я и сел писать код.

Первая трансляция прошла успешно. На следующий день удалось привлечь ещё несколько партнеров. Через несколько суток мне позвонили из крупного спортивного издательства Москвы «Спорт-экспресс» и согласились транслировать чемпионат с помощью моего виджета. Радости не было предела, ведь заполучить этого партнёра я безуспешно пытался уже несколько дней.

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

Не пользуйтесь российскими хостингами

Я договорился провести трансляцию двенадцатой партии чемпионата мира по шахматам на популярном сайте « Газета.ru», входящем в топ-100 сайтов рунета по трафику. Это приблизительно 500 тысяч уникальных посетителей на странице трансляции.

Целый день перед началом игры я готовился к «приему» нового партнёра, добавил мощностей серверу, оптимизировал в два раза по производительности код виджета. За плечами уже ряд успешно проведенных трансляций, десятки крупных и довольных партнёров, казалось, что я готов к трансляции. Да и хостинг у меня надёжный, отечественный — VPS. Добавлю, «новичок» был требовательным — он попросил сделать для него специальную сборку виджета, взамен пообещал поместить прямую ссылку на мой сайт.

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

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

За 20 минут до начала трансляции ресурсы сервера были съедены на 25%, сразу понял — дальше будет горячо. После первых ходов трансляции сервер стал захлёбываться. Когда я решил до предела повысить мощности сервера, выяснилось, что сделать это невозможно. У хостинг-провайдера не было нужных мне мощностей, хотя в панели администратора они были указаны. На практике при увеличении значений параметров появлялась ошибка с просьбой написать заявку для переезда на другой сервер.

Дальше чисто российский сценарий: заявка создана, какие-то невразумительные ответы типа «Изменить параметры сервера Вы можете в разделе „Конфигурация“ Вашего сервера». А я что делал? Забегая вперёд, скажу, что через несколько часов мою виртуалку всё-таки перенесли на сервер со свободными ресурсами, но ложка дорога к обеду. Спасло меня то, что партия завершилась рекордно быстро — за 30 минут, хотя обычно идёт пять−шесть часов. Основной поток трафика уменьшился, виджет снова стал работать нормально.

Самостоятельно контролируйте все процессы

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

Может показаться, что ничего необычного в этих числах нет, но я читал между строк. Это значило, что теперь не пройдёт фокус с поминутным обновлением шахматной позиции в виджете, ведь партия может завершиться очень быстро. Придётся увеличить скорость обновления виртуальной доски. Соответственно, нагрузка на мой сервер грозила вырасти в разы.

До начала новой трансляции оставалось чуть меньше двух суток. Спать было некогда, да и как уснуть, если мысли о предстоящей битве не отпускали меня. Вновь я переключился в режим хакатона. Что оптимизировать ещё? Добавлять новые серверы, сделать балансировку нагрузки, строить кластер? Перейти c REST на WebSocket? А если не успею всё отладить?

Решил ещё раз оптимизировать работу виджета. Для всех партнёров подготовил специальную версию виджета, в которой отключил всё, что можно было отключить. Убрал возможность анализировать ходы в партии с помощью виртуального тренера, отключил получение названия дебюта. Обновлять данные на клиенте решил каждые 20 секунд. Бизнес-бизнесом, но чтобы больше не подставлять партнёров, решил не приглашать на трансляцию новых партнёров.

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

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

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

Мой лучший друг всё время спрашивал, сколько человек находится на моем сайте в момент трансляции. Но меня интересовали более действенные параметры, а не показатели «тщеславия». Например, сколько нужно уникальных посетителей в момент трансляции, чтобы заработать $1. Так вот, чтобы заработать один доллар, необходимо около 500−700 уников в сутки.

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

В 22:00 началась партия. 1000, 2000, 3000 посетителей онлайн, число продолжает быстро расти. Трансляция идёт, пока всё нормально. Дальше больше: 10 000, 15 000… В 22:11 поступил звонок от партнёра, но я уже и так был в «операционной», на моём рабочем столе остались открытыми только четыре терминальных окна и IDE.

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

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

В 02:44 определили чемпиона мира по шахматам — Магнус Карлсен в очередной раз сохранил «корону». Хорошо, что было всего четыре партии, а не пятнадцать. Трафик отхлынул, я запустил свой сайт и добавил недостающие партии. Ближе к пяти утра написал письма партнёрам — поздравил всех с окончанием чемпионата и поблагодарил за продуктивное сотрудничество.

Мне стало интересно, из-за чего упал сервер. Выяснилось, что от самого большого партнёра поступило в 15 раз больше трафика, чем обычно. Оказалось, партнёр сгенерировал и вставил на главную страницу с онлайн-трансляцией сразу все 15 виджетов, просто скрыв их через CSS, открывая по мере необходимости. Не нужно объяснять, что скрытые от глаз виджеты работали и всю трансляцию одновременно слали запросы на мой сервер.

Это была моя ошибка, я не доглядел, мне следовало проконтролировать процесс и помочь своим партнёрам встроить код трансляции на их страницы. Они подавали мне знаки, но я не обратил на это внимания. В целом же трансляция тай-брейк матча прошла успешно — оптимизация виджета, 32 Гб оперативной памяти и 16 ядер сервера справились с незапланированной нагрузкой.

Доверяйте своей интуиции

«Шахматы — странная тема для заработка», — сказал мне один приятель. «Шахматных сайтов полно. Устройся на работу.», — говорили другие. Как часто, занимаясь своими стартапами, вы слышите подобное? Не секрет, что многие стартапы не добиваются успеха, но если постоянно опираться на чужие советы, трудно будет хоть чего-нибудь добиться.

С GuruChess я стал зарабатывать сразу, как и планировал, с первого дня запуска проекта, вернее, с момента начала его рекламы и продвижения — 1 ноября 2016. В бизнес-архитектуру проекта было одновременно заложено две основные модели монетизации: фримиум-модель онлайн-обучения людей в шахматы с оплатой за урок с тренером; вторая модель — можно сказать, инновационная — бесплатное предоставление интерактивного шахматного контента с рекламным баннером.

За месяц работы сайт GuruChess вошёл по посещаемости в топ-10 шахматных сайтов нашей страны. За 20 дней трансляции мне удалось построить приличную партнёрскую сеть в России, есть партнёр из Белоруссии.

Планы на будущее амбициозные. Как минимум стать лучшим шахматным сайтом в России. Войти на западный рынок, в частности в США, тем более есть уже подобный успешный опыт с другими проектами. Для дальнейшего роста хочу построить команду единомышленников, возможно, привлечь инвесторов.

Хотите получить слово и рассказать о своем стартапе? Добро пожаловать за трибуну.

Теги

Отличная история, спасибо что поделились, и тема - супер. Желаю успеха вашему проекту :)

Успехов! ) спасибо за статью )

Вот уж действительно поймал тренд

0

Удивительно.
Сейчас делаю аналогичный проект для европейской компании только без трансляций)
Идея отличная.

0

Напомнило сериал "Кремниевая долина" где они сервак поднимали для онлайн трансляции :)

0

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

0

Действительно приходилось делать всё самостоятельно. Комментировать партии продолжал только после багфикса.

А как вы с Агоном о трансляции договорились?)

0

Это было сложно, но можно, если захотеть!

ЧУВАК молодец!!! Читал чтатью как БЛОКБАСТЕР ))) на одном дыхании))) Желаю успехов!

Друзья! Большое спасибо всем за поддержку!

0

История успеха. Начало.
Удачи Вам!:)
P.S. "Иди работай, че это вообще за бизнес?", говорили они. А теперь я работаю с телефона с любой точки мира, а они...они ходят на работу и получают зарплату. Спасибо 21 веку:)

Не очень верится почему-то...но если правда-то шикарно!

0

Монетизация, высокий спрос на шахматы у аудитории...легкость в установлении контактов с крупными компаниями

605 млн. человек - активная шахматная аудитория в мире (исследование YouGov Plc. 2012 г), а это соизмеримо с аудиторией Фейсбука. Хотя проведённое мною исследование дало иной порядок, примерно 57,5 млн человек, но даже в таком случаи SOM проекта может достигать 1,8 млрд.руб. в год. Иными словами, шахматы – «спящий гигант». Контакт с крупной компанией легко можно установить, если есть спрос, большой спрос. Они сами на тебя выйдут. А вот если ты на рынок выводишь что-то менее популярное, не дозвонишься даже текущим партнёрам!

0

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

guruchess.ru/%D1%88%D0%B0%D1%85%D0%BC%D0%B0%D1%82%D0%BD%D1%8B%D0%B5-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8/%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B0-1-%D0%BC%D0%B0%D1%82-%D0%B2-2-%D1%85%D0%BE%D0%B4%D0%B0

0

Кстати, идея прописывать адреса страниц кириллицей - тоже не ок, по-моему.

0

Согласен, в URL на родном языке, есть свои плюсы и минусы.
Но можно скопировать ссылку и без кодинга: guruchess.ru/задача-1-мат-в-2-хода

0

Спасибо! Скорее всего, у вас в браузере есть блокировщик рекламы. Сайт этому сопротивляется.

0

guruchess.ru/задача-1-мат-в-2-хода?path= -- кнопка "Демо" показывает какую-то чушь (там шах королю - а вы мне слонов двигаете..). Или это так и задумано?

0

А так - молодцы! Шахматы - это здорово. Успехов!

Кнопка "Демо" - это будет играть наш "виртуальный тренер". Задачи на мат в 2 или 3 хода сложные, поэтому он не всегда справляется, но человеку они под силу!

А, нет, это я просто невнимательный, извиняюсь: посмотрев на доску не подумал, что королева и король могли пройти весь путь от d1 и e1 до b8 и a8 и изначально белые были снизу :)

0

>Оказалось, партнёр сгенерировал и вставил на главную страницу с онлайн-трансляцией сразу все 15 виджетов, просто скрыв их через CSS,
Что за мудаки! А у вас нет средств посмотреть, что именно смотрят сейчас? Если не последнюю партию, а все поровну, это повод удивиться.

0

Они не виноваты. Не программисты же, а репортеры.) А вот я не доглядел, я даже не подумал, что они могут так сделать, для меня казалось логичным, что один виджет нужно размещать на отдельную страницу!

0

Сервер был один? Почему не надумали делать масштабирование?

0

Да один сервер был. Думал, конечно, но не доходили руки.

За месяц закодить и запустить первую версию в прод - это просто класс! молодец реально

0

Так их там вроде 8 человек было... если честно, мне бы тоже не поверилось, если бы он сказал, что сам все это сделал за месяц. Кстати, о команде в статье ни слова.

0

Мне, если честно, самому сложно поверить, но сделал проект полностью сам.) А вот с тестами шахматных уроков мне помогал мой сын, он же вдохновил меня на создание шахматной школы. Кстати, скорость выпуска стартапов - это тренд и острая необходимость, рекомендую книгу Эрика Риса - Lean Startup.

0

Эта книга мне прекрасно знакома, и дело совершенно не в ней.
Просто физически не могу представить, как за месяц в одиночку сделать: сайт со 150 шахматными уроками, с интерактивной доской, шахматными задачами, виртуальным шахматным тренером и открытым API.

Что это за уроки? Сколько времени уходило на создание одного урока? Что за виртуальный шахматный тренер? Открытое API - какие функции он предоставлял (и кстати, зачем и для чего)?

0

Спасибо за ваши вопросы! Секрет на самом деле прост, в моих сутках было примерно 20 рабочих часов. Именно создание API(guruchess.ru/api-для-разработчиков) позволило на базе него быстро создавать уроки, а в дальнейшем и провести онлайн трансляцию чемпионата мира по шахматам. Уроки - правила игры, основные дебюты и эндшпиль. На создание одного урока уходит от нескольких минут до нескольких часов. Подробнее об уроках и шахматной школе можно узнать в видео youtu.be/Gg1kRyps8Fc Шахматный тренер - комплекс шахматных программ, объединяющий в себе, игровой движок, дебюты и систему эндшпильных таблиц.

0

Да, и еще вопрос - откуда вдруг взялись 8 человек, упомянутые ниже?

0

"На встрече был почти весь топ-менеджмент компании — 8 человек". То есть эти 8 человек - команда редакции.

Читал с огромным интересом. Очень крутой старт!
Успехов с проектом.

Прямой эфир
Команда калифорнийского проекта
оказалась нейронной сетью
Подписаться на push-уведомления