Предыстория: Откуда взялась идея
История проекта началась в прошлом году (2025). Я преподаю JavaScript в HTML Academy, и когда мне предложили взять поток начинающих разработчиков по Angular, я согласился. Мы успешно прошли базу, но когда дело дошло до HttpClient и обработки данных, я столкнулся с проблемой: студентам сложно понять Observable и реактивный подход, имея в багаже только промисы.
На лекции мне задали резонный вопрос: А где посмотреть актуальный и понятные материалы по RxJs?.
Я провел небольшой ресерч и понял, что ниша полупустая:
Видеокурсы (YouTube, Udemy) - это пассивное потребление, код там не потрогаешь.
RxJs Fruits - крутой проект, но это игра которая показывает только базу.
Официальная документация - слишком сухая и сложная для старта.
Конечно, фоном шло обсуждение, что RxJs умирает из-за прихода сигналов в Angular. Но реальность показывает обратное: Сигналы отличны для синхронного стейта, но для сложной оркестрации асинхронных событий 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% |
провал фичи |
Высокое удержание в практике: Если пользователь нажал кнопку Run, запустил код хотя бы один раз, он с вероятностью 87.5% доходит до конца урока. Это моя главная метрика успеха. Среднее количество запусков кода на одного активного пользователя - 16 раз. Люди пишут, ломают, чинят и проходят уроки.
Провал фичи флеш карточки: Так как я в своем обучении использую подход активного изучения и активного вспоминания с использованием Anki карточек, я подумал, что будет полезно запомнить то, что выучили на практике. Как результат этой фичей воспользовались 27 человек (2.6% от всех пользователей), как вывод я вижу что курс используют как интерактивный тренажер и нет желания учить. В следующем релизе я уберу или понижу приоритет этой фичи и возможно вернусь в будущем если появится спрос.
Планы и Roadmap
Сейчас проект работает как MVP. Аналитика показала, что продукт востребован, поэтому я продолжаю разработку в свободное время. Сейчас занимаюсь рефакторингом UI/UX и наполнением контента (остальные операторы с примерами и задачами).
После того как я закончу текущий спринт, я вижу несколько путей развития:
RxJs Decision Tree (Wizard). Интерактивный помошник. Вы отвечаете на вопросы (Нужно отменить прошлый запрос?, Потоков много?) и алгоритм подбирает нужный оператор с сниппетом кода (примером).
Визуализация Потоков (Marble Diagrams). Дополнительно к курсу написать графическое отображение потоков (шарики на временной шкале или по примеру RxJs Fruits конвеер), которое генерируется из кода.
Ссылка на проект: RxJs Ninja
p.s. Если есть идеи или предложения, пишите в комментариях.
Комментарии (5)

ROuser
01.02.2026 23:00Ну-с, на моём мобильном устройстве данный сайт просто отказывается работать. Есть только список "уроков", который нельзя листать и плашка сверху "RxJS Ninja".
Реактивное программирование это весело (если судить по Rx.NET), но подобные казусы напрочь отбивают желание пользоваться именно этим обучающим ресурсом.
Создатель не вывесил предупреждения открывать только ПК-версию и не выдумал адаптированный под мобилки дизайн? Хм... Для чего сделан JS? Кажется, web, а RxJS это JS, а я пытаюсь учить RxJS на ресурсе, который не хочет учить? Ой вэй!
Ну и полное доменное имя не соответствует чему-либо, довольно отталкивающе.
З.Ы.: Может, конечно, - хочется верить - это только у меня и в целом редчайший баг, который невозможно воспроизвести. Удачи в дальнейшей разработке! И простите, если звучало грубо, виноват, всё же MVP, действительно.

AlexPershin
01.02.2026 23:00Большинство интерактивных учебников программирования плохо сочетаются с мобильными версиями. Дело в том, что никто по-серьёзному на мобилке не программирует. А в таких учебниках самое важное — это набор больших объёмов кода. Это как делать полноценныый вёрд или эксель для мобилок — толку мало
DmitryKolosov
2025?
AlekseyVY Автор
Спасибо, поправил.