{"adoption": {"forks": 167, "observed_at": "2026-08-28T04:03:49.614933+00:00", "stars": 1162}, "canonical_url": "https://ross.abutalabs.com/products/shot-easy-website", "card": {"archived": false, "artifact_type": "application", "description": "Take a screenshot online and compresses images in browser with Webassembly", "domain": ["image-processing", "pdf", "web-development", "developer-tools"], "enriched": true, "function": ["image-processing", "ocr", "pdf", "browser-extension", "video-processing"], "health_score": 78, "homepage": "https://shoteasy.fun/", "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["CH563/shot-easy-website"], "name": "CH563/shot-easy-website", "platform": ["browser", "browser-extension"], "pushed_at": "2026-08-12T09:40:40+00:00", "repo": "CH563/shot-easy-website", "stars": 1162, "tags": ["screenshot", "webassembly", "astro", "image-compression", "client-side", "privacy", "screenshot-beautifier", "background-remover", "searchable-pdf", "web-server"], "topics": ["astro", "imageeditor", "screenshot", "chrome-extension", "webassembly"], "urls": [], "use_cases": ["take a screenshot online and beautify it", "compress images in the browser without uploading", "convert image formats like png to webp", "merge multiple images or pdf pages into one long image", "convert video to gif", "run ocr on scanned pdfs to create searchable pdfs", "remove image backgrounds locally", "add watermarks and annotations to screenshots"], "what_it_is": "ShotEasy is a free online photo and screenshot toolkit built with Astro that runs entirely in the browser using WebAssembly. It offers screenshot capture via a Chrome extension, image editing/compression/conversion, OCR to searchable PDFs, video-to-GIF conversion, and document viewing without uploading files to servers.", "when_to_avoid": ["you need server-side batch processing of large image volumes", "you require advanced desktop-grade photo editing like Photoshop", "you need offline use without first downloading the WASM OCR models"], "when_to_choose": ["you need privacy-first image editing that never uploads files", "you want a free no-signup screenshot and beautification tool", "you need browser-based OCR producing selectable, searchable PDFs", "you want a Chrome extension for quick full-page or area screenshots"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/shot-easy-website", "repo": "CH563/shot-easy-website", "role": "main", "score": 70}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.614933+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:31:36.002388+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "939aa7ad63f78cdc9e834950f4f2b07a734ff5cc70a0135835facdd9765c6f47", "fetched_at": "2026-08-28T04:03:49.614933+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CH563/shot-easy-website"}, {"content_hash": "461c6e98b8e35cfabf5cc3072280fbbd02963cfb76907ff0bcc2d88ba1e6c674", "fetched_at": "2026-08-29T12:36:10.530260+00:00", "kind": "homepage", "missing": false, "url": "https://shoteasy.fun/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.614933+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:31:36.002388+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "939aa7ad63f78cdc9e834950f4f2b07a734ff5cc70a0135835facdd9765c6f47", "fetched_at": "2026-08-28T04:03:49.614933+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CH563/shot-easy-website"}, {"content_hash": "461c6e98b8e35cfabf5cc3072280fbbd02963cfb76907ff0bcc2d88ba1e6c674", "fetched_at": "2026-08-29T12:36:10.530260+00:00", "kind": "homepage", "missing": false, "url": "https://shoteasy.fun/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:31:36.002388+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "939aa7ad63f78cdc9e834950f4f2b07a734ff5cc70a0135835facdd9765c6f47", "fetched_at": "2026-08-28T04:03:49.614933+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CH563/shot-easy-website"}, {"content_hash": "461c6e98b8e35cfabf5cc3072280fbbd02963cfb76907ff0bcc2d88ba1e6c674", "fetched_at": "2026-08-29T12:36:10.530260+00:00", "kind": "homepage", "missing": false, "url": "https://shoteasy.fun/"}], "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:49.614933+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.614933+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.614933+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:31:36.002388+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "939aa7ad63f78cdc9e834950f4f2b07a734ff5cc70a0135835facdd9765c6f47", "fetched_at": "2026-08-28T04:03:49.614933+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CH563/shot-easy-website"}, {"content_hash": "461c6e98b8e35cfabf5cc3072280fbbd02963cfb76907ff0bcc2d88ba1e6c674", "fetched_at": "2026-08-29T12:36:10.530260+00:00", "kind": "homepage", "missing": false, "url": "https://shoteasy.fun/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.614933+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.614933+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:31:36.002388+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "939aa7ad63f78cdc9e834950f4f2b07a734ff5cc70a0135835facdd9765c6f47", "fetched_at": "2026-08-28T04:03:49.614933+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CH563/shot-easy-website"}, {"content_hash": "461c6e98b8e35cfabf5cc3072280fbbd02963cfb76907ff0bcc2d88ba1e6c674", "fetched_at": "2026-08-29T12:36:10.530260+00:00", "kind": "homepage", "missing": false, "url": "https://shoteasy.fun/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.614933+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.614933+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.614933+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:31:36.002388+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "939aa7ad63f78cdc9e834950f4f2b07a734ff5cc70a0135835facdd9765c6f47", "fetched_at": "2026-08-28T04:03:49.614933+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CH563/shot-easy-website"}, {"content_hash": "461c6e98b8e35cfabf5cc3072280fbbd02963cfb76907ff0bcc2d88ba1e6c674", "fetched_at": "2026-08-29T12:36:10.530260+00:00", "kind": "homepage", "missing": false, "url": "https://shoteasy.fun/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.614933+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.614933+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:31:36.002388+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "939aa7ad63f78cdc9e834950f4f2b07a734ff5cc70a0135835facdd9765c6f47", "fetched_at": "2026-08-28T04:03:49.614933+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CH563/shot-easy-website"}, {"content_hash": "461c6e98b8e35cfabf5cc3072280fbbd02963cfb76907ff0bcc2d88ba1e6c674", "fetched_at": "2026-08-29T12:36:10.530260+00:00", "kind": "homepage", "missing": false, "url": "https://shoteasy.fun/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:31:36.002388+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "939aa7ad63f78cdc9e834950f4f2b07a734ff5cc70a0135835facdd9765c6f47", "fetched_at": "2026-08-28T04:03:49.614933+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CH563/shot-easy-website"}, {"content_hash": "461c6e98b8e35cfabf5cc3072280fbbd02963cfb76907ff0bcc2d88ba1e6c674", "fetched_at": "2026-08-29T12:36:10.530260+00:00", "kind": "homepage", "missing": false, "url": "https://shoteasy.fun/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:31:36.002388+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "939aa7ad63f78cdc9e834950f4f2b07a734ff5cc70a0135835facdd9765c6f47", "fetched_at": "2026-08-28T04:03:49.614933+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CH563/shot-easy-website"}, {"content_hash": "461c6e98b8e35cfabf5cc3072280fbbd02963cfb76907ff0bcc2d88ba1e6c674", "fetched_at": "2026-08-29T12:36:10.530260+00:00", "kind": "homepage", "missing": false, "url": "https://shoteasy.fun/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:31:36.002388+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "939aa7ad63f78cdc9e834950f4f2b07a734ff5cc70a0135835facdd9765c6f47", "fetched_at": "2026-08-28T04:03:49.614933+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CH563/shot-easy-website"}, {"content_hash": "461c6e98b8e35cfabf5cc3072280fbbd02963cfb76907ff0bcc2d88ba1e6c674", "fetched_at": "2026-08-29T12:36:10.530260+00:00", "kind": "homepage", "missing": false, "url": "https://shoteasy.fun/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "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": 1029, "days_push": 21, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 70, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}