{"adoption": {"forks": 587, "observed_at": "2026-08-28T04:07:33.169253+00:00", "stars": 2981}, "canonical_url": "https://ross.abutalabs.com/products/jasidepanels", "card": {"archived": false, "artifact_type": "library", "description": "Reveal side ViewControllers similar to Facebook/Path's menu", "domain": ["mobile-development", "frontend"], "enriched": true, "function": ["ui-components", "animation"], "health_score": 20, "homepage": null, "language": "Objective-C", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["gotosleep/JASidePanels"], "name": "gotosleep/JASidePanels", "platform": [], "pushed_at": "2022-10-27T04:23:22+00:00", "repo": "gotosleep/JASidePanels", "stars": 2981, "tags": ["objective-c", "side-panel", "view-controller-container", "hamburger-menu", "uikit", "ios", "mobile"], "topics": [], "urls": [], "use_cases": ["add a Facebook-style slide-out menu to an iOS app", "implement revealable left and right side panels around a center view controller", "build a hamburger menu navigation in Objective-C", "present side panels using storyboard view controllers", "create a Path 2.0 style panel layout on iPhone and iPad"], "what_it_is": "JASidePanels is an Objective-C UIViewController container for iOS that presents a center panel with revealable left and right side panels, inspired by the menu systems in Path 2.0 and Facebook's iOS apps. It ships as just two source files and supports both programmatic setup and storyboard integration.", "when_to_avoid": ["you are starting a new Swift or SwiftUI project with modern navigation patterns", "you need actively maintained components with ongoing bug fixes", "your app targets current iOS design guidelines where slide-out menus are out of fashion"], "when_to_choose": ["you are maintaining or building a legacy Objective-C iOS app that needs a classic side-panel menu", "you want a minimal two-file drop-in container without heavy dependencies", "you need storyboard-based side panel wiring"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/jasidepanels", "repo": "gotosleep/JASidePanels", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.169253+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:31:29.579514+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "244e47f1d721f56f3a863124053d9afb89816d37cbe2be7db9eb47a7479fe52f", "fetched_at": "2026-08-28T04:07:33.169253+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gotosleep/JASidePanels"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.169253+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:31:29.579514+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "244e47f1d721f56f3a863124053d9afb89816d37cbe2be7db9eb47a7479fe52f", "fetched_at": "2026-08-28T04:07:33.169253+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gotosleep/JASidePanels"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:31:29.579514+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "244e47f1d721f56f3a863124053d9afb89816d37cbe2be7db9eb47a7479fe52f", "fetched_at": "2026-08-28T04:07:33.169253+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gotosleep/JASidePanels"}], "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:33.169253+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.169253+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.169253+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:31:29.579514+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "244e47f1d721f56f3a863124053d9afb89816d37cbe2be7db9eb47a7479fe52f", "fetched_at": "2026-08-28T04:07:33.169253+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gotosleep/JASidePanels"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.169253+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.169253+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:31:29.579514+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "244e47f1d721f56f3a863124053d9afb89816d37cbe2be7db9eb47a7479fe52f", "fetched_at": "2026-08-28T04:07:33.169253+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gotosleep/JASidePanels"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.169253+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.169253+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.169253+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:31:29.579514+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "244e47f1d721f56f3a863124053d9afb89816d37cbe2be7db9eb47a7479fe52f", "fetched_at": "2026-08-28T04:07:33.169253+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gotosleep/JASidePanels"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.169253+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.169253+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:31:29.579514+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "244e47f1d721f56f3a863124053d9afb89816d37cbe2be7db9eb47a7479fe52f", "fetched_at": "2026-08-28T04:07:33.169253+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gotosleep/JASidePanels"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:31:29.579514+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "244e47f1d721f56f3a863124053d9afb89816d37cbe2be7db9eb47a7479fe52f", "fetched_at": "2026-08-28T04:07:33.169253+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gotosleep/JASidePanels"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:31:29.579514+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "244e47f1d721f56f3a863124053d9afb89816d37cbe2be7db9eb47a7479fe52f", "fetched_at": "2026-08-28T04:07:33.169253+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gotosleep/JASidePanels"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:31:29.579514+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "244e47f1d721f56f3a863124053d9afb89816d37cbe2be7db9eb47a7479fe52f", "fetched_at": "2026-08-28T04:07:33.169253+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gotosleep/JASidePanels"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5283, "days_push": 1406, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}