A collection of interactive RxJS puzzles to practice Observable manipulation through real-world UI challenges.
RxJS Challenge is a collection of interactive coding puzzles designed to practice and improve skills in reactive programming using RxJS. It provides daily challenges that require solving real-world UI interaction problems—such as creating sticky headers, handling focus, managing loading states, and implementing gestures—by building Observable streams. The project helps developers move beyond basic RxJS tutorials and apply reactive patterns to practical scenarios.
Frontend developers, especially those using Angular or React with RxJS, who want to deepen their understanding of Observables and reactive programming through hands-on exercises. It's also suitable for developers transitioning from imperative to reactive UI development.
Unlike typical RxJS tutorials, this project offers a curated set of real-world UI challenges with interactive templates and detailed solutions, enabling developers to learn by doing. It bridges the gap between RxJS theory and practical application, focusing on patterns that are immediately useful in production web apps.
A set of little RxJS puzzles to practice your Observable skills
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Challenges simulate practical web development scenarios like sticky headers, modal closing, and pull-to-refresh, directly applicable to building interactive interfaces.
Each challenge includes a StackBlitz template for hands-on coding without local setup, enabling immediate practice and experimentation.
Solutions are accompanied by Medium articles that break down reactive patterns and operator usage, offering insights from experienced developers like Alex and Roman.
From basic focus tracking in Day 01 to advanced image transformations in Day 16, the challenges cater to varying skill levels, aiding gradual learning.
Solutions and explanations are hosted externally on Medium, not consolidated in the GitHub repo, making access less convenient and dependent on third-party platforms.
Focuses heavily on UI interactions, missing broader RxJS applications like server-side data fetching, testing strategies, or integration with state management libraries.
Lacks a forum or discussion platform for learners to ask questions, share solutions, or seek help, limiting collaborative learning opportunities.