{"adoption": {"forks": 710, "observed_at": "2026-08-28T04:10:39.534594+00:00", "stars": 10088}, "canonical_url": "https://ross.abutalabs.com/products/omni-tools", "card": {"archived": false, "artifact_type": "application", "description": "Self-hosted collection of powerful web-based tools for everyday tasks. No ads, no tracking, just fast, accessible utilities right from your browser!", "domain": ["developer-tools", "files", "pdf", "self-hosted", "web-development"], "enriched": true, "function": ["image-processing", "video-processing", "pdf", "json", "csv", "date-time", "math", "developer-tools", "self-hosted"], "health_score": 94, "homepage": "https://omnitools.app", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["iib0011/omni-tools"], "name": "iib0011/omni-tools", "platform": ["self-hosted", "browser"], "pushed_at": "2026-08-17T19:00:25+00:00", "repo": "iib0011/omni-tools", "stars": 10088, "tags": ["swiss-army-knife", "client-side-processing", "privacy-friendly", "file-conversion", "web-utilities", "omni-tools", "docker", "web-server", "nodejs"], "topics": ["react", "tools", "devtools", "converter", "developer-tools", "productivity", "typescript", "alternative", "good-first-issue", "javascript", "frontend", "website", "self-hosted", "image-processing", "webapp", "data-manipulation", "swissarmyknife", "image-manipulation", "pdf-manipulation", "video-manipulation"], "urls": [], "use_cases": ["resize and convert images in the browser", "merge or split pdf files without uploading them", "self-host a private alternative to online tool websites", "format and validate json, csv, and xml data", "trim or reverse video clips locally", "convert text case and shuffle lists", "calculate date differences and convert time zones"], "what_it_is": "OmniTools is a self-hosted web application bundling a large collection of browser-based utilities for images, video, audio, PDFs, text, dates, math, and data formats. All processing happens client-side so files never leave the user's device, and it ships as a lightweight 28MB Docker image.", "when_to_avoid": ["you need server-side batch processing of very large files", "you require advanced professional-grade editing features", "you need offline desktop tools rather than a web app"], "when_to_choose": ["you want privacy-first tools where files stay on your device", "you need a single self-hosted app replacing many ad-laden utility sites", "you want a lightweight Docker deployment for everyday file and data tasks"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/omni-tools", "repo": "iib0011/omni-tools", "role": "main", "score": 69}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:39.534594+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:19:44.728553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5181d90f4e6ee007bb0e47a74b9af9daf12a5497ca0f44178ab856cd826fbe52", "fetched_at": "2026-08-28T04:10:39.534594+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iib0011/omni-tools"}, {"content_hash": "5e6f6aa136aa403d2bf171cedb8da2f79b9a1f84e5b8750a8b044e7350e35fe9", "fetched_at": "2026-08-29T08:19:50.694255+00:00", "kind": "homepage", "missing": false, "url": "https://omnitools.app"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:39.534594+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:19:44.728553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5181d90f4e6ee007bb0e47a74b9af9daf12a5497ca0f44178ab856cd826fbe52", "fetched_at": "2026-08-28T04:10:39.534594+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iib0011/omni-tools"}, {"content_hash": "5e6f6aa136aa403d2bf171cedb8da2f79b9a1f84e5b8750a8b044e7350e35fe9", "fetched_at": "2026-08-29T08:19:50.694255+00:00", "kind": "homepage", "missing": false, "url": "https://omnitools.app"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:19:44.728553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5181d90f4e6ee007bb0e47a74b9af9daf12a5497ca0f44178ab856cd826fbe52", "fetched_at": "2026-08-28T04:10:39.534594+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iib0011/omni-tools"}, {"content_hash": "5e6f6aa136aa403d2bf171cedb8da2f79b9a1f84e5b8750a8b044e7350e35fe9", "fetched_at": "2026-08-29T08:19:50.694255+00:00", "kind": "homepage", "missing": false, "url": "https://omnitools.app"}], "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:39.534594+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:39.534594+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:39.534594+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:19:44.728553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5181d90f4e6ee007bb0e47a74b9af9daf12a5497ca0f44178ab856cd826fbe52", "fetched_at": "2026-08-28T04:10:39.534594+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iib0011/omni-tools"}, {"content_hash": "5e6f6aa136aa403d2bf171cedb8da2f79b9a1f84e5b8750a8b044e7350e35fe9", "fetched_at": "2026-08-29T08:19:50.694255+00:00", "kind": "homepage", "missing": false, "url": "https://omnitools.app"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:39.534594+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:39.534594+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:19:44.728553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5181d90f4e6ee007bb0e47a74b9af9daf12a5497ca0f44178ab856cd826fbe52", "fetched_at": "2026-08-28T04:10:39.534594+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iib0011/omni-tools"}, {"content_hash": "5e6f6aa136aa403d2bf171cedb8da2f79b9a1f84e5b8750a8b044e7350e35fe9", "fetched_at": "2026-08-29T08:19:50.694255+00:00", "kind": "homepage", "missing": false, "url": "https://omnitools.app"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:39.534594+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:39.534594+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:39.534594+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:19:44.728553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5181d90f4e6ee007bb0e47a74b9af9daf12a5497ca0f44178ab856cd826fbe52", "fetched_at": "2026-08-28T04:10:39.534594+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iib0011/omni-tools"}, {"content_hash": "5e6f6aa136aa403d2bf171cedb8da2f79b9a1f84e5b8750a8b044e7350e35fe9", "fetched_at": "2026-08-29T08:19:50.694255+00:00", "kind": "homepage", "missing": false, "url": "https://omnitools.app"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:39.534594+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:39.534594+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:19:44.728553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5181d90f4e6ee007bb0e47a74b9af9daf12a5497ca0f44178ab856cd826fbe52", "fetched_at": "2026-08-28T04:10:39.534594+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iib0011/omni-tools"}, {"content_hash": "5e6f6aa136aa403d2bf171cedb8da2f79b9a1f84e5b8750a8b044e7350e35fe9", "fetched_at": "2026-08-29T08:19:50.694255+00:00", "kind": "homepage", "missing": false, "url": "https://omnitools.app"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:19:44.728553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5181d90f4e6ee007bb0e47a74b9af9daf12a5497ca0f44178ab856cd826fbe52", "fetched_at": "2026-08-28T04:10:39.534594+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iib0011/omni-tools"}, {"content_hash": "5e6f6aa136aa403d2bf171cedb8da2f79b9a1f84e5b8750a8b044e7350e35fe9", "fetched_at": "2026-08-29T08:19:50.694255+00:00", "kind": "homepage", "missing": false, "url": "https://omnitools.app"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:19:44.728553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5181d90f4e6ee007bb0e47a74b9af9daf12a5497ca0f44178ab856cd826fbe52", "fetched_at": "2026-08-28T04:10:39.534594+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iib0011/omni-tools"}, {"content_hash": "5e6f6aa136aa403d2bf171cedb8da2f79b9a1f84e5b8750a8b044e7350e35fe9", "fetched_at": "2026-08-29T08:19:50.694255+00:00", "kind": "homepage", "missing": false, "url": "https://omnitools.app"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:19:44.728553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5181d90f4e6ee007bb0e47a74b9af9daf12a5497ca0f44178ab856cd826fbe52", "fetched_at": "2026-08-28T04:10:39.534594+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iib0011/omni-tools"}, {"content_hash": "5e6f6aa136aa403d2bf171cedb8da2f79b9a1f84e5b8750a8b044e7350e35fe9", "fetched_at": "2026-08-29T08:19:50.694255+00:00", "kind": "homepage", "missing": false, "url": "https://omnitools.app"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 57, "rhythm": 38}, "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": 811, "days_push": 16, "days_rel": 335, "gap_med": 34, "n_releases_24m": 6}, "score": 69, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}