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

Сейчас трудно поверить, но эта история началась ещё до выхода сериала "Ход королевы".

Это история о том, как 6 шахматнозависимых людей сделали это Данила Пилин

Привет! Меня зовут Данила Пилин. Мой дед неплохо играл в шахматы. Буквально сутками просиживал за доской. В детстве я часто приезжал к нему — так постепенно и полюбил игру.

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

В начале 2020-го я сидел и думал, чего хочу дальше. Вот уже два года как я работал аналитиком в Skyeng: занимался продуктовой аналитикой, A/B тестами, строил витрины данных. Это перспективно. Но чего-то не хватало. И я решил заняться тем, что меня драйвит: шахматами.

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

И тут грянул карантин. Офлайна больше не было...

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

К концу 2019-го шахматами, по данным Министерства спорта РФ, занимались уже порядка 900 тысяч человек в стране.
К концу 2019-го шахматами, по данным Министерства спорта РФ, занимались уже порядка 900 тысяч человек в стране.

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

А в компании был продукт — онлайн-школа для детей Skysmart, на которой уже можно было изучать математику. Ее платформу как раз адаптировали для новых предметов. Технически ее можно было приспособить и для шахмат. Так у меня появилась идея.

Как CTO нашей платформы посоветовал меня нужным людям

Я задумался: попробовать самому или «продать» идею внутри компании? Опыта запуска продукта у меня не было, а потому было много вопросов, ответов на которые я не знал. И это перевесило: в Skyeng уже разработали платформу, отладили бизнес-модель — я понимал, как реализовать задумку с текущими ресурсами компании, но не очень представлял, как сделать все с нуля.

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

Исследование сайтов нескольких сотен школ — выжимка из него была в той презентации.
Исследование сайтов нескольких сотен школ — выжимка из него была в той презентации.

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

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

Сначала предстояло детально описать продукт. Я попытался найти методиста, чтобы собрать первые уроки, заверстать их на нашей платформе и понять, чего еще не хватает. Тогда я мог бы описать первые фичи в продукте и структуру контента для MVP. Но методисты, которых я искал по сайтам репетиторов и знакомым, часто не верили в проект. Тогда я стал делать первые уроки сам. Появился первый контент, а девушка помогла с иллюстрациями. Но это было не то. Мы приуныли.

И тут в ноябре вышел сериал про одаренную шахматистку. Бум шахмат — все в компании стали обсуждать их, а заодно и мой проект. Тогда все и завертелось.

Чтобы запуститься, нужна доска и обучающий контент. Мы начали с контента

Для создания контента нужны:

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

К концу ноября сформировался костяк этой команды. Благодаря сарафану внутри компании к нам пришел контент-менеджер Степа. Раньше он помогал верстать контент по английскому, но оказался фанатом шахмат и попросился в мой проект. Затем к Степе присоединилась контент-менеджер Оксана.

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

Затем у нас появилась иллюстратор Лиза — она делает чумовые иллюстрации. И очень быстро.

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

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

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

В итоге я нашел методиста: Марию Лапину (Лысенко) она пишет свои книги, преподает уже девять лет и ее ребята занимают места на разных турнирах.
В итоге я нашел методиста: Марию Лапину (Лысенко) она пишет свои книги, преподает уже девять лет и ее ребята занимают места на разных турнирах.

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

Так сложилась картинка. У нас будет 4 уровня — от полного новичка до эксперта. И 60 уроков на старте. Преподаватели будут определять знания и пробелы ученика на вводном уроке, а затем подбирать программу из нужных ему занятий. Например, если человек знает базовые вещи, но не знает теорию (как я когда-то), он будет проходить с преподавателем те уроки, которые помогут наверстать упущенное. Если преподавателю не хватит наших материалов, он сможет загрузить на платформу дополнительные картинки или файлы.

С декабря к нам подключилась Лена Вербова — мастер ФИДЕ и участница сборной Узбекистана по шахматам. Она делает контент для уровня «Эксперт».
С декабря к нам подключилась Лена Вербова — мастер ФИДЕ и участница сборной Узбекистана по шахматам. Она делает контент для уровня «Эксперт».

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

Как КМС по шахматам писал нам фронтенд

У нас есть общие ресурсы разработки на новые предметы: команда проекта «Математика» адаптирует свою платформу для всех новых направлений, и мы ходим к ним. Меня немного смущал момент: быстро ли разработчик, не знакомый с нюансами шахматных партий, разберется в этой области?

Но тут нам снова повезло. В команде разработки был идеальный кандидат. Мы созвонились и начали работу.

Будущий фронтендер — справа. Первый тренер — слева.
Будущий фронтендер — справа. Первый тренер — слева.

Рассказывает Владлен Волков, наш фронтенд-разработчик

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

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

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

На второй год я проиграл первую свою партию на областном турнире. Шок был уже у меня. А папа такой: «Да успокойся, ничего страшного не произошло». Это был важный момент: так я сам научился принимать поражения. Это важно в шахматах.

Несколько лет история повторялась: город, область и далее. Лет в 14 в полуфиналах чемпионата России я играл с одним парнем, который занимался, кажется, только шахматами и ничем другим. Это была долгая и мучительная партия. Я понял, что не смогу его переплюнуть. И так в моей жизни появилась гитара.

Позицию разработчика я застолбил. Исходная точка была такой: есть браузерная комната для индивидуальных занятий математикой с доской для рисования графиков и формул.

Математика для детей появилась у нас осенью 2019-го — так мы перестали быть только «школой английского».
Математика для детей появилась у нас осенью 2019-го — так мы перестали быть только «школой английского».

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

Процесс разработки был скучным — как спланировал, так все и прошло.

Моей задачей было написать модуль шахматной доски для комнаты. Я хотел сделать модуль изолированным: на входе получать сущности из основного приложения, но наружу ничего не выпячивать. В своей команде я топлю за TDD. И тут такая удача — описать что-то с нуля. Решил писать через тесты. И еще раз убедился, что это не аффектит производительность и трудозатраты. Так даже легче - не надо ничего в голове держать при планировании архитектуры, плюс оно документируется лучше.

Модуль получился экспериментальным во многих смыслах. Я смог реализовать несколько оберток для нашего кастомного стейт-менеджера, а заодно подключил нашего QA-лида к написанию юнит-тестов — до этого он писал только end-to-end. Опыт получился позитивным, хотим еще раз попробовать.

Надо было удалить доску математики и вставить шахматную доску. Выпилить — понятно. А что вставить?

— Я смотрел готовые библиотеки. Сначала хотел взять ChessboardJS — проверенный инструмент. Но он тащит JQuery: чтобы развернуть доску, нужно брать 300кб всякого ненужного от мамонта.

Стал искать что-то более независимое и инкапсулированное. И нашел cm-chessboard — она не добавляется в глобальную область видимости, есть импорты-экспорты. То, что нужно. Но был нюанс: нужно было кастомизировать доску, заменить поля на другой цвет и поменять скины фигурок — а делать верстку было лень. И я откладывал :)

«Влад, может, нужна помощь с этим?» — оказалось, Степа, наш контент-менеджер, начал изучать JS во время карантина. И ему была интересна задачка со стилизацией.

Так у меня появился джун: я объяснил ему, как работать с монорепой нашего фронтенда — что, как, куда. Скоро стили были в проде.

Было — стало.
Было — стало.

Опыт шахматиста в итоге пригодился?

— Да, был интересный момент — нотации. Мы логируем партию, чтобы откатываться по ней и делать разборы: нужно записать фигуру и клетку, на которую идет фигура. Как записать рокировку? Если бы я не занимался шахматами, я бы подумал: «Нужно просто переставить короля». Правильный ответ: короткая рокировка это 0-0, длинная — 0-0-0.

А что-то свое, кроме TDD, удалось в проект внести?

— У нашей доски два режима: режим игры и режим редактора доски, где преподаватель и ученик могут разбирать что-то вместе. В процессе разработки я переключаюсь между этими режимами и обновляю страницу. Как-то раз поймал себя на мысли, что смотрю на доску и не понимаю, чей ход сейчас. Подумал-подумал и бонусной фичей добавил индикатор хода. Ребята на демо сказали: «Вау, спасибо!».

Плюс мы хотели сделать домашки автоматически проверяемыми, как в других продуктах. От математики в наследство достались домашки, где ответ описывался инпутом. Это не очень удобно. Так что сделали механику, которая позволяет решать задачи прямо на доске: просто двигаешь фигуры, пытаясь решить задачу (например, мат в два хода), и если сделал меньше заданного числа ошибок, то засчитывается успех.

Как проверить, что не фигню делаешь

(рассказываю снова я)

К середине декабря у нас было 20 уроков и первая версия доски на платформе. Я понимал, что если начну показывать MVP детям, то не получу нужного фидбека: ребенок не обратит внимания на кучу деталей, которые важны для команды продукта.

Поэтому первые демки мы делали на взрослых, которые связаны с продуктовой разработкой. Я отписался в один из чатов компании — на тест записалось 100 человек, но до новогодних праздников мы провели около сорока тестов. Нам повезло: люди были разного уровня подготовки и почти все пришли на созвон. Мы проверяли все: от того, как заходит контент, до функционала доски. По итогу убрали много сложных механик, которые не могли осилить даже взрослые…

В целом фидбек был положительным.
В целом фидбек был положительным.

Параллельно стали составлять портрет преподавателя. Сейчас наша основная задача — обучать новичков. Мы поняли, что для этой аудитории не нужны титулованные преподаватели: достаточно иметь 2-й или 1-й разряд и следовать методологии. На что действительно обращаем внимание: это опыт работы с детьми, харизма и энергичность. И отбираем тем, кто с любовью расскажет ребенку о шахматах.

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

Что по итогу-то вышло?

1 февраля шахматы от Skysmart запустились в паблик. Мы реализовали все ключевые фичи MVP, но еще многое впереди. Сейчас можно играть и заниматься с ПК или планшета, а вот с мобилки - только если в браузере. Пока у нас нет турниров — здесь есть масса готовых решений с большими командами разработки, нет смысла гнаться за ними. Наш приоритет — интерактивное обучение. Так что будем добавлять механики в домашки, делать мини-игры и работать над удобством платформы.

Думаю, проще увидеть. Видео без звука, т.к. делалось на лендинг. Кстати, урок веду я, привет!

А из интересных планов — Владлен уже подбирает игровой ИИ, чтобы в будущем на нашей платформе можно было играть против компьютера. И тут ему снова помогает опыт КМС.

Все же, в нашей стране есть отличная школа шахмат. Работая над проектом, я убедился в этом еще раз: в компании даже сформировалось сообщество любителей шахмат и возник канал #chess в Slack. И все мы хотим, чтобы игра с прекрасной философией и историей, снова стала популярной — и доступной для изучения в любых обстоятельствах.

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

  • Статья «Шахматы и мозг» от издания Reminder, которую очень всем рекомендую последнее время — внутри много ссылок на исследования
7878
38 комментариев

Вы делаете доброе дело. Можно детей отвлеч от онлайн игр в интернете. Таким образом спасёте психику многих подростков. Благородно! Примите мой респект.

11
Ответить

Благородно = бесплатно
А здесь просто хорошая миссия. 

13
Ответить

Соревновательный StarCraft II - те же шахматы, но на скорость.

Ответить

Самый главный вопрос: ЗАЧЕМ?
Если есть https://lichess.org/ и ещё несколько удобных и популярных сайтов для игры/обучения. Зачем изобретать свой велосипед?

3
Ответить

Просто по кайфу. А вы проходите мимо со своим идиотским комментом

4
Ответить

Бесспорно — lichess/chess лучшие, на текущий момент, платформы для игры в шахматы.
Цель статьи — не провести сравнительный анализ того, что есть на рынке, а рассказать про наш проект, что мы сделали за 3 месяца, и какие у нас планы.
Про сравнение с индустрией можно будет написать в отдельной статье)

Но если кратко, какие у нас преимущества, на мой взгляд:
Для ученика/родителя:
1. Интерактивные уроки с различными механиками. На уроках, помимо игры и теории, дети знакомятся с интересными фактами о шахматах, в дз, помимо задач, записываем мини видео для закрепления изученного материала.
2. Программа обучения. Уроки писали титулованные шахматистки, уровень сложности уроков выстроен так, чтобы ребенок не заскучал от шахмат через пару занятий.
3. Весь процесс обучения на одной вкладке. Домашки, связь с преподавателем, прогресс обучения — все внутри платформы.
4. Обратная связь для родителей. Если не подошел преподаватель, мы можем его поменять на подходящего. Регулярно рассказываем родителям об успехах ребенка.
5. Отбор преподавателей. Помимо регалий и опыта для нас важно, чтобы преподаватель был энергичным, смог заинтересовать ребенка.

Для преподавателя:
1. Готовый контент. Не нужно тратить время на подготовку к уроку и проверку дз, можно использовать уже написанный материал и проводить обучение по нему.
2. Гибкий график. Подбираем учеников исходя из доступного времени и уровня игры, с преподавателя снимаем часть коммуникации с учеником.

2
Ответить

Минусы
1. Дорого
2. Конкуренты
Есть популярные сайты (уже писали о них - chess.com, lichess.org)
3. Непонятно, для кого создан продвинутый уровень. Опытные игроки к вам не придут.

Плюсы
1. На самом деле шахматы ОЧЕНЬ популярны в России.
2. Нет понятной площадки для обучения детей - ваша могла бы ей стать.

_______
Зашёл на сайт посмотреть цены, непонятно, стоимость 8 уроков 1130 рублей или каждого из этих уроков по 1130 рублей? (Если второе, то 8800 рублей за один этап занятий это слишком дорого)

2
Ответить