{"adoption": {"forks": 970, "observed_at": "2026-08-28T04:10:26.030910+00:00", "stars": 8852}, "canonical_url": "https://ross.abutalabs.com/products/pose-animator", "card": {"archived": false, "artifact_type": "application", "description": null, "domain": ["computer-vision", "graphics", "machine-learning", "web-development"], "enriched": true, "function": ["computer-vision", "animation", "machine-learning", "graphics"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["yemount/pose-animator"], "name": "yemount/pose-animator", "platform": ["browser"], "pushed_at": "2024-05-20T18:51:56+00:00", "repo": "yemount/pose-animator", "stars": 8852, "tags": ["posenet", "facemesh", "tensorflowjs", "skeletal-animation", "svg", "real-time", "webcam", "vector-graphics", "web-server", "javascript"], "topics": [], "urls": [], "use_cases": ["animate an svg avatar from my webcam in real time", "rig a 2d vector character with pose tracking", "demo pose estimation with tensorflow.js in the browser", "animate a cartoon face from facemesh keypoints", "turn a single photo into a posed avatar", "skeleton-based animation for vector illustrations"], "what_it_is": "Pose Animator is a browser-based tool that animates 2D SVG vector characters in real time using pose and face keypoints detected by PoseNet and FaceMesh via TensorFlow.js. It applies skeletal animation concepts to vector illustrations, driving curves from webcam video or static images.", "when_to_avoid": ["you need 3D character animation or game-engine rigging", "you require production support or mobile browser compatibility guarantees", "you want to animate raster images rather than SVG vector paths"], "when_to_choose": ["you want real-time in-browser pose-driven character animation with no server", "you design vector illustrations in svg and want to bring them to life", "you need a TensorFlow.js pose/face tracking demo to learn from"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pose-animator", "repo": "yemount/pose-animator", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.030910+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:24:47.533565+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c38ea70e521888043c1f0b179c21c8e6d5f5817f7b2370a3847ae91e9f943d69", "fetched_at": "2026-08-28T04:10:26.030910+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yemount/pose-animator"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.030910+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:24:47.533565+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c38ea70e521888043c1f0b179c21c8e6d5f5817f7b2370a3847ae91e9f943d69", "fetched_at": "2026-08-28T04:10:26.030910+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yemount/pose-animator"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:24:47.533565+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c38ea70e521888043c1f0b179c21c8e6d5f5817f7b2370a3847ae91e9f943d69", "fetched_at": "2026-08-28T04:10:26.030910+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yemount/pose-animator"}], "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:10:26.030910+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.030910+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.030910+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:24:47.533565+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c38ea70e521888043c1f0b179c21c8e6d5f5817f7b2370a3847ae91e9f943d69", "fetched_at": "2026-08-28T04:10:26.030910+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yemount/pose-animator"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.030910+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.030910+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:24:47.533565+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c38ea70e521888043c1f0b179c21c8e6d5f5817f7b2370a3847ae91e9f943d69", "fetched_at": "2026-08-28T04:10:26.030910+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yemount/pose-animator"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.030910+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.030910+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.030910+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:24:47.533565+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c38ea70e521888043c1f0b179c21c8e6d5f5817f7b2370a3847ae91e9f943d69", "fetched_at": "2026-08-28T04:10:26.030910+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yemount/pose-animator"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.030910+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.030910+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:24:47.533565+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c38ea70e521888043c1f0b179c21c8e6d5f5817f7b2370a3847ae91e9f943d69", "fetched_at": "2026-08-28T04:10:26.030910+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yemount/pose-animator"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:24:47.533565+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c38ea70e521888043c1f0b179c21c8e6d5f5817f7b2370a3847ae91e9f943d69", "fetched_at": "2026-08-28T04:10:26.030910+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yemount/pose-animator"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:24:47.533565+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c38ea70e521888043c1f0b179c21c8e6d5f5817f7b2370a3847ae91e9f943d69", "fetched_at": "2026-08-28T04:10:26.030910+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yemount/pose-animator"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:24:47.533565+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c38ea70e521888043c1f0b179c21c8e6d5f5817f7b2370a3847ae91e9f943d69", "fetched_at": "2026-08-28T04:10:26.030910+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yemount/pose-animator"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2347, "days_push": 835, "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}}