{"adoption": {"forks": 116, "observed_at": "2026-08-28T04:05:20.159184+00:00", "stars": 1672}, "canonical_url": "https://ross.abutalabs.com/products/uber-manifold", "card": {"archived": false, "artifact_type": "application", "description": "A model-agnostic visual debugging tool for machine learning", "domain": ["machine-learning", "data-visualization", "data-science"], "enriched": true, "function": ["data-visualization", "machine-learning", "analytics"], "health_score": 23, "homepage": null, "language": "JavaScript", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["uber/manifold"], "name": "uber/manifold", "platform": ["cross-platform"], "pushed_at": "2025-02-05T23:02:02+00:00", "repo": "uber/manifold", "stars": 1672, "tags": ["visual-debugging", "model-agnostic", "ml-debugging", "uber", "react-component", "incubation", "web", "nodejs"], "topics": ["incubation", "machine-learning", "visualization"], "urls": [], "use_cases": ["debug why my ML model performs poorly on certain data subsets", "visualize feature distributions across model performance segments", "compare predictions from multiple models on an evaluation dataset", "find which data slices a classifier gets wrong", "explain model errors beyond summary metrics like AUC or RMSE", "embed an ML performance visualization component in my own web app", "upload a CSV of predictions and ground truth to analyze model behavior"], "what_it_is": "Manifold is a model-agnostic visual debugging tool for machine learning from Uber. It helps ML practitioners identify which subsets of data a model predicts poorly and explains potential causes by visualizing feature distribution differences between better- and worse-performing segments.", "when_to_avoid": ["you need automated model training or hyperparameter tuning rather than debugging", "you need real-time monitoring of models in production", "your datasets are far larger than the recommended 10k-15k instances without sampling", "you need a non-visual, programmatic error analysis library"], "when_to_choose": ["you need to visually diagnose which data subsets a model mispredicts", "you want a model-agnostic tool that works with any classifier's predictions", "you want to embed an interactive ML debugging visualization in a React web app", "you have evaluation data with features, predictions, and ground truth in CSV or JS format"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/uber-manifold", "repo": "uber/manifold", "role": "main", "score": 25}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.159184+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:42:39.345779+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b5367a03b17834ff3a7b20e9fe2c7e9f795cf2675cece264f3e845a4de1ceee9", "fetched_at": "2026-08-28T04:05:20.159184+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber/manifold"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.159184+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:42:39.345779+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b5367a03b17834ff3a7b20e9fe2c7e9f795cf2675cece264f3e845a4de1ceee9", "fetched_at": "2026-08-28T04:05:20.159184+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber/manifold"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:42:39.345779+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b5367a03b17834ff3a7b20e9fe2c7e9f795cf2675cece264f3e845a4de1ceee9", "fetched_at": "2026-08-28T04:05:20.159184+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber/manifold"}], "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:05:20.159184+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.159184+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.159184+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:42:39.345779+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b5367a03b17834ff3a7b20e9fe2c7e9f795cf2675cece264f3e845a4de1ceee9", "fetched_at": "2026-08-28T04:05:20.159184+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber/manifold"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.159184+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.159184+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:42:39.345779+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b5367a03b17834ff3a7b20e9fe2c7e9f795cf2675cece264f3e845a4de1ceee9", "fetched_at": "2026-08-28T04:05:20.159184+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber/manifold"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.159184+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.159184+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.159184+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:42:39.345779+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b5367a03b17834ff3a7b20e9fe2c7e9f795cf2675cece264f3e845a4de1ceee9", "fetched_at": "2026-08-28T04:05:20.159184+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber/manifold"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.159184+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.159184+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:42:39.345779+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b5367a03b17834ff3a7b20e9fe2c7e9f795cf2675cece264f3e845a4de1ceee9", "fetched_at": "2026-08-28T04:05:20.159184+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber/manifold"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:42:39.345779+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b5367a03b17834ff3a7b20e9fe2c7e9f795cf2675cece264f3e845a4de1ceee9", "fetched_at": "2026-08-28T04:05:20.159184+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber/manifold"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:42:39.345779+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b5367a03b17834ff3a7b20e9fe2c7e9f795cf2675cece264f3e845a4de1ceee9", "fetched_at": "2026-08-28T04:05:20.159184+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber/manifold"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:42:39.345779+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b5367a03b17834ff3a7b20e9fe2c7e9f795cf2675cece264f3e845a4de1ceee9", "fetched_at": "2026-08-28T04:05:20.159184+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber/manifold"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 5, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2763, "days_push": 574, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 25, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}