{"adoption": {"forks": 287, "observed_at": "2026-08-28T04:04:37.028824+00:00", "stars": 1399}, "canonical_url": "https://ross.abutalabs.com/products/learnrx", "card": {"archived": false, "artifact_type": "learning-resource", "description": "A series of interactive exercises for learning Microsoft's Reactive Extensions Library for Javascript.", "domain": ["tutorials", "programming-languages", "web-development"], "enriched": true, "function": ["developer-tools"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["ReactiveX/learnrx"], "name": "ReactiveX/learnrx", "platform": ["browser"], "pushed_at": "2019-06-25T05:54:02+00:00", "repo": "ReactiveX/learnrx", "stars": 1399, "tags": ["reactive-extensions", "rxjs", "functional-programming", "interactive-exercises", "tutorial", "javascript", "nodejs"], "topics": [], "urls": [], "use_cases": ["learn reactive extensions for javascript", "practice functional programming in javascript", "learn map filter reduce zip through exercises", "prepare to use rxjs for async programming", "interactive tutorial for reactive programming", "train functional collection manipulation skills"], "what_it_is": "A series of interactive browser-based exercises for learning Microsoft's Reactive Extensions (Rx) library for JavaScript. It teaches functional programming fundamentals like map, filter, concatAll, reduce, and zip as the foundation for reactive, asynchronous programming.", "when_to_avoid": ["you need up-to-date RxJS API coverage, as the material dates from around 2019", "you want a runnable library or tool rather than a tutorial", "you already know functional programming and only need RxJS operator reference"], "when_to_choose": ["you want hands-on, interactive practice rather than passive reading", "you are new to RxJS and want to build functional programming foundations first", "you learn best by solving small coding challenges in the browser"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/learnrx", "repo": "ReactiveX/learnrx", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.028824+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:39:09.042912+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e04e1f4007e1cd5f57c001a02132c1c46330ac3bd830cf392fcc80461d0e3c44", "fetched_at": "2026-08-28T04:04:37.028824+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ReactiveX/learnrx"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.028824+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:39:09.042912+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e04e1f4007e1cd5f57c001a02132c1c46330ac3bd830cf392fcc80461d0e3c44", "fetched_at": "2026-08-28T04:04:37.028824+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ReactiveX/learnrx"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:39:09.042912+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e04e1f4007e1cd5f57c001a02132c1c46330ac3bd830cf392fcc80461d0e3c44", "fetched_at": "2026-08-28T04:04:37.028824+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ReactiveX/learnrx"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.028824+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.028824+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.028824+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:39:09.042912+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e04e1f4007e1cd5f57c001a02132c1c46330ac3bd830cf392fcc80461d0e3c44", "fetched_at": "2026-08-28T04:04:37.028824+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ReactiveX/learnrx"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.028824+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.028824+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:39:09.042912+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e04e1f4007e1cd5f57c001a02132c1c46330ac3bd830cf392fcc80461d0e3c44", "fetched_at": "2026-08-28T04:04:37.028824+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ReactiveX/learnrx"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.028824+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.028824+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.028824+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:39:09.042912+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e04e1f4007e1cd5f57c001a02132c1c46330ac3bd830cf392fcc80461d0e3c44", "fetched_at": "2026-08-28T04:04:37.028824+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ReactiveX/learnrx"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.028824+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.028824+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:39:09.042912+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e04e1f4007e1cd5f57c001a02132c1c46330ac3bd830cf392fcc80461d0e3c44", "fetched_at": "2026-08-28T04:04:37.028824+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ReactiveX/learnrx"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:39:09.042912+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e04e1f4007e1cd5f57c001a02132c1c46330ac3bd830cf392fcc80461d0e3c44", "fetched_at": "2026-08-28T04:04:37.028824+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ReactiveX/learnrx"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:39:09.042912+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e04e1f4007e1cd5f57c001a02132c1c46330ac3bd830cf392fcc80461d0e3c44", "fetched_at": "2026-08-28T04:04:37.028824+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ReactiveX/learnrx"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:39:09.042912+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e04e1f4007e1cd5f57c001a02132c1c46330ac3bd830cf392fcc80461d0e3c44", "fetched_at": "2026-08-28T04:04:37.028824+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ReactiveX/learnrx"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4984, "days_push": 2626, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}