{"adoption": {"forks": 171, "observed_at": "2026-08-28T04:03:55.931900+00:00", "stars": 1190}, "canonical_url": "https://ross.abutalabs.com/products/fabritor-web", "card": {"archived": false, "artifact_type": "application", "description": "👻 A creative editor based on fabricjs. 一款基于 fabricjs 的开源创意图片编辑器，旨在让开发者快速构建属于自己的图片编辑器。可应用于海报设计、小红书公众号封面设计、banner 设计等场景。", "domain": ["web-development", "frontend", "graphics", "image-processing", "web-design"], "enriched": true, "function": ["editor", "image-processing", "ui-components", "graphics"], "health_score": 20, "homepage": "https://fabritor.surge.sh/", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["sleepy-zone/fabritor-web"], "name": "sleepy-zone/fabritor-web", "platform": ["browser"], "pushed_at": "2024-08-30T09:17:39+00:00", "repo": "sleepy-zone/fabritor-web", "stars": 1190, "tags": ["fabricjs", "canvas-editor", "image-editor", "poster-design", "graphic-design", "open-source-editor", "web", "react", "typescript"], "topics": ["fabricjs", "editor", "image", "canvas", "react", "text"], "urls": [], "use_cases": ["build a custom image editor for my web app", "design posters and social media covers online", "create banner graphics in the browser", "add a canvas-based design tool to my product", "make WeChat article cover images", "edit photos with filters and text overlays in browser"], "what_it_is": "Fabritor is an open-source creative image editor built on fabric.js and React, designed to let developers quickly build their own image editing applications. It runs entirely in the browser and supports text effects, image filters, shapes, freehand drawing, and export to JPG, PNG, SVG, and JSON templates.", "when_to_avoid": ["you need professional photo retouching like Photoshop-level tools", "you need server-side or batch image processing", "you need a mobile-native editor rather than a web app", "you need collaborative multi-user editing"], "when_to_choose": ["you want a customizable, self-hosted browser-based image editor built on fabric.js", "you need poster, banner, or social media cover design features", "you want a foundation to build your own template-based design tool", "you prefer client-side editing with no server upload of user data"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/fabritor-web", "repo": "sleepy-zone/fabritor-web", "role": "main", "score": 27}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.931900+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:23:05.903356+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "127bf9b260583d8a61367e4758e79c3dd8823015e65c1dc3b6a702d25fb5c3e8", "fetched_at": "2026-08-28T04:03:55.931900+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sleepy-zone/fabritor-web"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.931900+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:23:05.903356+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "127bf9b260583d8a61367e4758e79c3dd8823015e65c1dc3b6a702d25fb5c3e8", "fetched_at": "2026-08-28T04:03:55.931900+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sleepy-zone/fabritor-web"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:23:05.903356+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "127bf9b260583d8a61367e4758e79c3dd8823015e65c1dc3b6a702d25fb5c3e8", "fetched_at": "2026-08-28T04:03:55.931900+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sleepy-zone/fabritor-web"}], "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:03:55.931900+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.931900+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.931900+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:23:05.903356+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "127bf9b260583d8a61367e4758e79c3dd8823015e65c1dc3b6a702d25fb5c3e8", "fetched_at": "2026-08-28T04:03:55.931900+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sleepy-zone/fabritor-web"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.931900+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.931900+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:23:05.903356+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "127bf9b260583d8a61367e4758e79c3dd8823015e65c1dc3b6a702d25fb5c3e8", "fetched_at": "2026-08-28T04:03:55.931900+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sleepy-zone/fabritor-web"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.931900+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.931900+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.931900+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:23:05.903356+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "127bf9b260583d8a61367e4758e79c3dd8823015e65c1dc3b6a702d25fb5c3e8", "fetched_at": "2026-08-28T04:03:55.931900+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sleepy-zone/fabritor-web"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.931900+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.931900+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:23:05.903356+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "127bf9b260583d8a61367e4758e79c3dd8823015e65c1dc3b6a702d25fb5c3e8", "fetched_at": "2026-08-28T04:03:55.931900+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sleepy-zone/fabritor-web"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:23:05.903356+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "127bf9b260583d8a61367e4758e79c3dd8823015e65c1dc3b6a702d25fb5c3e8", "fetched_at": "2026-08-28T04:03:55.931900+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sleepy-zone/fabritor-web"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:23:05.903356+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "127bf9b260583d8a61367e4758e79c3dd8823015e65c1dc3b6a702d25fb5c3e8", "fetched_at": "2026-08-28T04:03:55.931900+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sleepy-zone/fabritor-web"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:23:05.903356+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "127bf9b260583d8a61367e4758e79c3dd8823015e65c1dc3b6a702d25fb5c3e8", "fetched_at": "2026-08-28T04:03:55.931900+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sleepy-zone/fabritor-web"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 73, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1033, "days_push": 733, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 27, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}