{"adoption": {"forks": 329, "observed_at": "2026-08-28T04:07:28.497656+00:00", "stars": 2892}, "canonical_url": "https://ross.abutalabs.com/products/serviceworker-cookbook", "card": {"archived": true, "artifact_type": "learning-resource", "description": "It's online. It's offline. It's a Service Worker!", "domain": ["web-development", "frontend", "tutorials", "documentation"], "enriched": true, "function": ["caching", "http-client", "developer-tools"], "health_score": 10, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["mdn/serviceworker-cookbook"], "name": "mdn/serviceworker-cookbook", "platform": ["browser"], "pushed_at": "2022-11-01T15:06:45+00:00", "repo": "mdn/serviceworker-cookbook", "stars": 2892, "tags": ["service-worker", "offline-first", "progressive-web-apps", "push-notifications", "background-sync", "cache-api", "examples", "cookbook", "javascript", "nodejs"], "topics": [], "urls": [], "use_cases": ["learn how to build offline-first web apps with service workers", "find example code for caching strategies in the browser", "implement push notifications on the web", "understand background sync in service workers", "make my website faster with service worker caching", "get started with the Service Worker API"], "what_it_is": "A collection of dozens of practical, working Service Worker recipes from Mozilla covering offline experiences, caching strategies, push notifications, and background sync. It serves as a learning resource for web developers from beginner to expert.", "when_to_avoid": ["you need a production-ready service worker library with tooling like Workbox", "you need a maintained framework rather than example code", "you need support for non-browser environments"], "when_to_choose": ["you want runnable, annotated examples of Service Worker, Cache, Push, or Background Sync APIs", "you are learning offline-first web development from scratch", "you need reference recipes for common service worker patterns"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/serviceworker-cookbook", "repo": "mdn/serviceworker-cookbook", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.497656+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:48:16.650943+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b45f621536999fa4595c7b480f8c71e6ef3508c878eb3f5d764bb61d3e1380f3", "fetched_at": "2026-08-28T04:07:28.497656+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mdn/serviceworker-cookbook"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.497656+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:48:16.650943+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b45f621536999fa4595c7b480f8c71e6ef3508c878eb3f5d764bb61d3e1380f3", "fetched_at": "2026-08-28T04:07:28.497656+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mdn/serviceworker-cookbook"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:48:16.650943+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b45f621536999fa4595c7b480f8c71e6ef3508c878eb3f5d764bb61d3e1380f3", "fetched_at": "2026-08-28T04:07:28.497656+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mdn/serviceworker-cookbook"}], "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:07:28.497656+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.497656+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.497656+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:48:16.650943+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b45f621536999fa4595c7b480f8c71e6ef3508c878eb3f5d764bb61d3e1380f3", "fetched_at": "2026-08-28T04:07:28.497656+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mdn/serviceworker-cookbook"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.497656+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.497656+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:48:16.650943+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b45f621536999fa4595c7b480f8c71e6ef3508c878eb3f5d764bb61d3e1380f3", "fetched_at": "2026-08-28T04:07:28.497656+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mdn/serviceworker-cookbook"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.497656+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.497656+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.497656+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:48:16.650943+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b45f621536999fa4595c7b480f8c71e6ef3508c878eb3f5d764bb61d3e1380f3", "fetched_at": "2026-08-28T04:07:28.497656+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mdn/serviceworker-cookbook"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.497656+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.497656+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:48:16.650943+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b45f621536999fa4595c7b480f8c71e6ef3508c878eb3f5d764bb61d3e1380f3", "fetched_at": "2026-08-28T04:07:28.497656+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mdn/serviceworker-cookbook"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:48:16.650943+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b45f621536999fa4595c7b480f8c71e6ef3508c878eb3f5d764bb61d3e1380f3", "fetched_at": "2026-08-28T04:07:28.497656+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mdn/serviceworker-cookbook"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:48:16.650943+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b45f621536999fa4595c7b480f8c71e6ef3508c878eb3f5d764bb61d3e1380f3", "fetched_at": "2026-08-28T04:07:28.497656+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mdn/serviceworker-cookbook"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:48:16.650943+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b45f621536999fa4595c7b480f8c71e6ef3508c878eb3f5d764bb61d3e1380f3", "fetched_at": "2026-08-28T04:07:28.497656+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mdn/serviceworker-cookbook"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3998, "days_push": 1401, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}