javascript

От учебной проблемы до 1000 пользователей: как я писал интерактивный учебник по RxJS

  • понедельник, 2 февраля 2026 г. в 00:00:08
https://habr.com/ru/articles/991572/

Предыстория: Откуда взялась идея.

История проекта началась в прошлом году (2025). Я преподаю JavaScript в HTML Academy, и когда мне предложили взять поток начинающих разработчиков по Angular, я согласился. Мы успешно прошли базу, но когда дело дошло до HttpClient и обработки данных, я столкнулся с проблемой: студентам сложно понять Observable и реактивный подход, имея в багаже только промисы.

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

  • Видеокурсы (YouTube, Udemy) - это пассивное потребление, код там не потрогаешь.

  • RxJs Fruits - крутой проект, но это игра которая показывает только базу.

  • Официальная документация - слишком сухая и сложная для старта.

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

Умирающий RxJs

От идеи к MVP.

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

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

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

Аналитика: Взгляд на цифры

Прошло чуть больше месяца активного использования (метрики сняты за 90 дней). Давайте посмотрим на данные аналитики.

За это время проект преодолел планку в 1000 уникальных пользователей.

  • New users: 1000+

  • Returning users: ~19-20%
    Почти каждый пятый возвращается. Для учебного пет проекта без рекламного бюджета и рассылок это хороший показатель. По всей видимости люд добавляют сайт в закладки.

География оказалась интересной. Ядро аудитории - русскоговорящее комьюнити. Но благодаря английской локализации и постам в зарубежных сетях, подтянулись пользователи из Германии, Польши и США. Это показывает что перевод и переключение языка я делал не зря.

Среднее время вовлечения - 3 минуты 29 секунд. В некоторые дни этот показатель вырастает до 11-12 минут. Это показывает, что люди активно учатся и проходят тренажер.

Детальный разбор метрик.

Самое интересное кроется в эвентах которые я настроил для сбора аналитики.

Эвент

пользователи

конверсия

вывод

Посетители

1039

100%

Пришли на сайт

Просмотр урока

405

39%

Просмотрели урок

запуск кода

144

14%

Ядро аудитории

Завершили урок

126

87.5%

Продукт держит

флеш карточки

27

2.6%

провал фичи

  1. Высокое удержание в практике: Если пользователь нажал кнопку Run, запустил код хотя бы один раз, он с вероятностью 87.5% доходит до конца урока. Это моя главная метрика успеха. Среднее количество запусков кода на одного активного пользователя - 16 раз. Люди пишут, ломают, чинят и проходят уроки.

  2. Провал фичи флеш карточки: Так как я в своем обучении использую подход активного изучения и активного вспоминания с использованием Anki карточек, я подумал, что будет полезно запомнить то, что выучили на практике. Как результат этой фичей воспользовались 27 человек (2.6% от всех пользователей), как вывод я вижу что курс используют как интерактивный тренажер и нет желания учить. В следующем релизе я уберу или понижу приоритет этой фичи и возможно вернусь в будущем если появится спрос.

Планы и Roadmap

Сейчас проект работает как MVP. Аналитика показала, что продукт востребован, поэтому я продолжаю разработку в свободное время. Сейчас занимаюсь рефакторингом UI/UX и наполнением контента (остальные операторы с примерами и задачами).

После того как я закончу текущий спринт, я вижу несколько путей развития:

  1. RxJs Decision Tree (Wizard). Интерактивный помошник. Вы отвечаете на вопросы (Нужно отменить прошлый запрос?, Потоков много?) и алгоритм подбирает нужный оператор с сниппетом кода (примером).

  2. Визуализация Потоков (Marble Diagrams). Дополнительно к курсу написать графическое отображение потоков (шарики на временной шкале или по примеру RxJs Fruits конвеер), которое генерируется из кода.

Ссылка на проект: RxJs Ninja

p.s. Если есть идеи или предложения, пишите в комментариях.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Хабр, мне нужна ваша помощь. Какую фичу вы бы хотели видеть первой?
0%Decision Tree (Помощник по выбору оператора)0
0%Визуализация Marble-диаграмм0
100%Больше задач и челленджей1
100%Рецепты (Готовые решения типовых задач)1
Проголосовал 1 пользователь. Воздержавшихся нет.