{"adoption": {"forks": 374, "observed_at": "2026-08-28T04:07:19.083452+00:00", "stars": 2772}, "canonical_url": "https://ross.abutalabs.com/products/jsfeat", "card": {"archived": false, "artifact_type": "library", "description": "JavaScript Computer Vision library.", "domain": ["computer-vision", "image-processing", "web-development"], "enriched": true, "function": ["computer-vision", "image-processing", "machine-learning"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["inspirit/jsfeat"], "name": "inspirit/jsfeat", "platform": ["browser"], "pushed_at": "2022-04-16T09:05:57+00:00", "repo": "inspirit/jsfeat", "stars": 2772, "tags": ["optical-flow", "feature-detection", "haar-cascade", "orb", "linear-algebra", "html5-canvas", "nodejs", "javascript"], "topics": [], "urls": [], "use_cases": ["detect faces in the browser with haar cascades", "track points in a webcam video with lucas-kanade optical flow", "detect corners and compute orb descriptors in javascript", "apply canny edge detection or sobel filters to canvas images", "estimate homography between images with ransac", "do matrix math and svd in the browser"], "what_it_is": "JSFEAT is a JavaScript computer vision library implementing classic CV algorithms in pure JS for browser use. It includes image processing filters, feature detection/description, optical flow, object detection, and linear algebra utilities.", "when_to_avoid": ["you need GPU-accelerated or deep-learning-based vision (use OpenCV.js, TensorFlow.js, or ONNX runtime)", "you need actively maintained code with recent fixes and modern tooling", "you need high-performance processing of large video streams"], "when_to_choose": ["you need lightweight, dependency-free computer vision running client-side in JavaScript", "you want classic CV algorithms (FAST, ORB, LK optical flow, HAAR) without native builds or WebAssembly", "you are prototyping HTML5 canvas or webcam vision demos"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/jsfeat", "repo": "inspirit/jsfeat", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:19.083452+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T08:16:37.955941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a38c758b73e8d6fc4e42eccbee018375130a2e9c0d91679c75bbd7518e6c7ec", "fetched_at": "2026-08-28T04:07:19.083452+00:00", "kind": "readme", "missing": false, "url": "https://github.com/inspirit/jsfeat"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:19.083452+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T08:16:37.955941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a38c758b73e8d6fc4e42eccbee018375130a2e9c0d91679c75bbd7518e6c7ec", "fetched_at": "2026-08-28T04:07:19.083452+00:00", "kind": "readme", "missing": false, "url": "https://github.com/inspirit/jsfeat"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T08:16:37.955941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a38c758b73e8d6fc4e42eccbee018375130a2e9c0d91679c75bbd7518e6c7ec", "fetched_at": "2026-08-28T04:07:19.083452+00:00", "kind": "readme", "missing": false, "url": "https://github.com/inspirit/jsfeat"}], "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:07:19.083452+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:19.083452+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:19.083452+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T08:16:37.955941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a38c758b73e8d6fc4e42eccbee018375130a2e9c0d91679c75bbd7518e6c7ec", "fetched_at": "2026-08-28T04:07:19.083452+00:00", "kind": "readme", "missing": false, "url": "https://github.com/inspirit/jsfeat"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:19.083452+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:19.083452+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T08:16:37.955941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a38c758b73e8d6fc4e42eccbee018375130a2e9c0d91679c75bbd7518e6c7ec", "fetched_at": "2026-08-28T04:07:19.083452+00:00", "kind": "readme", "missing": false, "url": "https://github.com/inspirit/jsfeat"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:19.083452+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:19.083452+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:19.083452+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T08:16:37.955941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a38c758b73e8d6fc4e42eccbee018375130a2e9c0d91679c75bbd7518e6c7ec", "fetched_at": "2026-08-28T04:07:19.083452+00:00", "kind": "readme", "missing": false, "url": "https://github.com/inspirit/jsfeat"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:19.083452+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:19.083452+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T08:16:37.955941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a38c758b73e8d6fc4e42eccbee018375130a2e9c0d91679c75bbd7518e6c7ec", "fetched_at": "2026-08-28T04:07:19.083452+00:00", "kind": "readme", "missing": false, "url": "https://github.com/inspirit/jsfeat"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T08:16:37.955941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a38c758b73e8d6fc4e42eccbee018375130a2e9c0d91679c75bbd7518e6c7ec", "fetched_at": "2026-08-28T04:07:19.083452+00:00", "kind": "readme", "missing": false, "url": "https://github.com/inspirit/jsfeat"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T08:16:37.955941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a38c758b73e8d6fc4e42eccbee018375130a2e9c0d91679c75bbd7518e6c7ec", "fetched_at": "2026-08-28T04:07:19.083452+00:00", "kind": "readme", "missing": false, "url": "https://github.com/inspirit/jsfeat"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T08:16:37.955941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a38c758b73e8d6fc4e42eccbee018375130a2e9c0d91679c75bbd7518e6c7ec", "fetched_at": "2026-08-28T04:07:19.083452+00:00", "kind": "readme", "missing": false, "url": "https://github.com/inspirit/jsfeat"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5046, "days_push": 1600, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}