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

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

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

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

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

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

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

Умирающий RxJs

От идеи к MVP

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

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

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

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

Прошло чуть больше месяца активного использования (метрики сняты за 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. Если есть идеи или предложения, пишите в комментариях.

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