{"adoption": {"forks": 267, "observed_at": "2026-08-28T04:07:07.431525+00:00", "stars": 2659}, "canonical_url": "https://ross.abutalabs.com/products/sensey", "card": {"archived": false, "artifact_type": "library", "description": ":zap: [Android Library] Play with sensor events & detect gestures in a breeze.", "domain": ["mobile-development", "android-tools"], "enriched": true, "function": ["sdk", "plugin-system"], "health_score": 72, "homepage": null, "language": "Kotlin", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["nisrulz/sensey"], "name": "nisrulz/sensey", "platform": [], "pushed_at": "2026-06-08T00:54:15+00:00", "repo": "nisrulz/sensey", "stars": 2659, "tags": ["gesture-detection", "sensor-events", "kotlin", "coroutines-flow", "jetpack-compose", "lifecycle-aware", "android"], "topics": ["android-library", "detect-gestures", "gesture-detection", "sensor", "shake-detection", "handwave-detection", "light-detection", "android", "movement-detection", "chop-detection", "wrist-twist-detection", "proximity-sensor", "wave-detection", "libraries"], "urls": [], "use_cases": ["detect shake gestures in my android app", "detect when the device is flipped face down", "use the proximity sensor to trigger actions", "detect wrist twist or chop gestures", "collect sensor gesture events as kotlin flow", "detect raise to ear or pickup device gestures"], "what_it_is": "Sensey is an Android library that simplifies sensor event handling and gesture detection, removing boilerplate for detecting gestures like shake, flip, proximity, and wave. It offers lifecycle-aware registration with callback and Kotlin coroutines/Flow APIs, including Compose integration.", "when_to_avoid": ["you need custom raw sensor data processing beyond the provided gestures", "your app targets platforms other than Android", "you need gesture recognition from camera or touch-screen input rather than hardware sensors"], "when_to_choose": ["you need common device gesture detection on Android without writing sensor boilerplate", "you want lifecycle-aware or Compose-friendly sensor event streams", "you want a wide catalog of prebuilt gestures like shake, flip, tilt, and clap"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/sensey", "repo": "nisrulz/sensey", "role": "main", "score": 62}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.431525+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:18:25.014274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcf048fc2e50ef058220e78c7bcb72b7d41432ab77076bf2f4c40a83e58b14aa", "fetched_at": "2026-08-28T04:07:07.431525+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nisrulz/sensey"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.431525+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:18:25.014274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcf048fc2e50ef058220e78c7bcb72b7d41432ab77076bf2f4c40a83e58b14aa", "fetched_at": "2026-08-28T04:07:07.431525+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nisrulz/sensey"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:18:25.014274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcf048fc2e50ef058220e78c7bcb72b7d41432ab77076bf2f4c40a83e58b14aa", "fetched_at": "2026-08-28T04:07:07.431525+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nisrulz/sensey"}], "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:07.431525+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.431525+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.431525+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:18:25.014274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcf048fc2e50ef058220e78c7bcb72b7d41432ab77076bf2f4c40a83e58b14aa", "fetched_at": "2026-08-28T04:07:07.431525+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nisrulz/sensey"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.431525+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.431525+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:18:25.014274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcf048fc2e50ef058220e78c7bcb72b7d41432ab77076bf2f4c40a83e58b14aa", "fetched_at": "2026-08-28T04:07:07.431525+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nisrulz/sensey"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.431525+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.431525+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.431525+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:18:25.014274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcf048fc2e50ef058220e78c7bcb72b7d41432ab77076bf2f4c40a83e58b14aa", "fetched_at": "2026-08-28T04:07:07.431525+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nisrulz/sensey"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.431525+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.431525+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:18:25.014274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcf048fc2e50ef058220e78c7bcb72b7d41432ab77076bf2f4c40a83e58b14aa", "fetched_at": "2026-08-28T04:07:07.431525+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nisrulz/sensey"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:18:25.014274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcf048fc2e50ef058220e78c7bcb72b7d41432ab77076bf2f4c40a83e58b14aa", "fetched_at": "2026-08-28T04:07:07.431525+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nisrulz/sensey"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:18:25.014274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcf048fc2e50ef058220e78c7bcb72b7d41432ab77076bf2f4c40a83e58b14aa", "fetched_at": "2026-08-28T04:07:07.431525+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nisrulz/sensey"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:18:25.014274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcf048fc2e50ef058220e78c7bcb72b7d41432ab77076bf2f4c40a83e58b14aa", "fetched_at": "2026-08-28T04:07:07.431525+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nisrulz/sensey"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 86, "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": 3947, "days_push": 87, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 62, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}