{"adoption": {"forks": 101, "observed_at": "2026-08-28T04:04:59.810104+00:00", "stars": 1536}, "canonical_url": "https://ross.abutalabs.com/products/verticalcardswiper", "card": {"archived": false, "artifact_type": "library", "description": "A marriage between the Shazam Discover UI and Tinder, built with UICollectionView in Swift.", "domain": ["mobile-development", "frontend", "web-design"], "enriched": true, "function": ["ui-components", "animation", "state-management"], "health_score": 20, "homepage": null, "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["JoniVR/VerticalCardSwiper"], "name": "JoniVR/VerticalCardSwiper", "platform": [], "pushed_at": "2023-10-02T02:43:50+00:00", "repo": "JoniVR/VerticalCardSwiper", "stars": 1536, "tags": ["uicollectionview", "card-swipe", "tinder-ui", "shazam-discover", "uikit", "cocoapods", "carthage", "ios", "swift", "mobile"], "topics": ["shazam", "uicollectionview", "shazam-discover-ui", "swift", "ios", "discover", "tinder-ui", "swipe", "tinder", "tinder-style", "uikit", "animation", "cards", "collectionview", "help-wanted"], "urls": [], "use_cases": ["build a tinder-like card swipe interface in ios", "recreate the shazam discover screen in my app", "swipeable card stack with uicollectionview in swift", "vertical card carousel with swipe gestures", "let users swipe cards left or right but keep them in the deck", "animated card ui for a dating or discovery app"], "what_it_is": "VerticalCardSwiper is a Swift UIKit library that recreates the Shazam Discover UI combined with Tinder-style card swiping, built on UICollectionView with a custom flow layout. It lets iOS developers display vertically stacked, swipeable cards that can be dismissed or kept for later.", "when_to_avoid": ["your app is built with SwiftUI and you want a native declarative solution", "you need a cross-platform card swipe component for Android or web", "you need actively developed features, since the project is in maintenance mode"], "when_to_choose": ["you need a Tinder/Shazam-style card UI in a native iOS app built with UIKit", "you want swipeable cards that can be dismissed or kept in the stack", "you prefer a UICollectionView-based, datasource-driven component familiar from standard iOS development"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/verticalcardswiper", "repo": "JoniVR/VerticalCardSwiper", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.810104+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:31:03.250968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ef2dcefa2029b26253c1b4a790e7b11a5b9dd104d52ea30170ba27a2a8241091", "fetched_at": "2026-08-28T04:04:59.810104+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JoniVR/VerticalCardSwiper"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.810104+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:31:03.250968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ef2dcefa2029b26253c1b4a790e7b11a5b9dd104d52ea30170ba27a2a8241091", "fetched_at": "2026-08-28T04:04:59.810104+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JoniVR/VerticalCardSwiper"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:31:03.250968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ef2dcefa2029b26253c1b4a790e7b11a5b9dd104d52ea30170ba27a2a8241091", "fetched_at": "2026-08-28T04:04:59.810104+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JoniVR/VerticalCardSwiper"}], "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:04:59.810104+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.810104+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.810104+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:31:03.250968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ef2dcefa2029b26253c1b4a790e7b11a5b9dd104d52ea30170ba27a2a8241091", "fetched_at": "2026-08-28T04:04:59.810104+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JoniVR/VerticalCardSwiper"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.810104+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.810104+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:31:03.250968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ef2dcefa2029b26253c1b4a790e7b11a5b9dd104d52ea30170ba27a2a8241091", "fetched_at": "2026-08-28T04:04:59.810104+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JoniVR/VerticalCardSwiper"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.810104+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.810104+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.810104+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:31:03.250968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ef2dcefa2029b26253c1b4a790e7b11a5b9dd104d52ea30170ba27a2a8241091", "fetched_at": "2026-08-28T04:04:59.810104+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JoniVR/VerticalCardSwiper"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.810104+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.810104+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:31:03.250968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ef2dcefa2029b26253c1b4a790e7b11a5b9dd104d52ea30170ba27a2a8241091", "fetched_at": "2026-08-28T04:04:59.810104+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JoniVR/VerticalCardSwiper"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:31:03.250968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ef2dcefa2029b26253c1b4a790e7b11a5b9dd104d52ea30170ba27a2a8241091", "fetched_at": "2026-08-28T04:04:59.810104+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JoniVR/VerticalCardSwiper"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:31:03.250968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ef2dcefa2029b26253c1b4a790e7b11a5b9dd104d52ea30170ba27a2a8241091", "fetched_at": "2026-08-28T04:04:59.810104+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JoniVR/VerticalCardSwiper"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:31:03.250968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ef2dcefa2029b26253c1b4a790e7b11a5b9dd104d52ea30170ba27a2a8241091", "fetched_at": "2026-08-28T04:04:59.810104+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JoniVR/VerticalCardSwiper"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 3312, "days_push": 1066, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}