{"adoption": {"forks": 9520, "observed_at": "2026-08-28T04:04:11.347352+00:00", "stars": 1267}, "canonical_url": "https://ross.abutalabs.com/products/ftcrobotcontroller", "card": {"archived": false, "artifact_type": "framework", "description": "FTC Android Studio Workspace for robot programming in Android Studio", "domain": ["robotics", "education", "hardware"], "enriched": true, "function": ["robotics", "sdk", "embedded"], "health_score": 97, "homepage": null, "language": "Java", "license": "BSD-3-Clause-Clear", "license_family": "permissive", "maturity": "active", "member_repos": ["FIRST-Tech-Challenge/FtcRobotController"], "name": "FIRST-Tech-Challenge/FtcRobotController", "platform": ["jvm", "cross-platform"], "pushed_at": "2026-07-31T17:29:57+00:00", "repo": "FIRST-Tech-Challenge/FtcRobotController", "stars": 1267, "tags": ["ftc", "first-tech-challenge", "robot-controller", "android-studio", "competition-robotics", "op-modes", "android"], "topics": [], "urls": [], "use_cases": ["program an FTC competition robot in Java", "build and deploy the FTC robot controller app with Android Studio", "access motors, sensors, and servos on the FTC control system", "write custom OpModes for the DECODE 2025-2026 season", "learn robot programming with the FTC SDK"], "what_it_is": "The official FIRST Tech Challenge (FTC) SDK for building the Android app that controls a competition robot. It provides the robot controller framework, hardware access, and sample OpModes for programming in Java via Android Studio.", "when_to_avoid": ["you program only with Blocks or OnBot Java (no Android Studio needed)", "you are competing in a different robotics program like FRC or VEX", "you need a general-purpose robotics framework outside FTC"], "when_to_choose": ["you are on an FTC team programming your robot in Java with Android Studio", "you need the official, season-current robot controller SDK", "you want sample OpModes and hardware APIs for the FTC control system"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ftcrobotcontroller", "repo": "FIRST-Tech-Challenge/FtcRobotController", "role": "main", "score": 92}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.347352+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:03:41.260809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4dde6160a0727ccc2a065023cfecd358327c21a9a2cd2bd989d1a8266f345cae", "fetched_at": "2026-08-28T04:04:11.347352+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FIRST-Tech-Challenge/FtcRobotController"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.347352+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:03:41.260809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4dde6160a0727ccc2a065023cfecd358327c21a9a2cd2bd989d1a8266f345cae", "fetched_at": "2026-08-28T04:04:11.347352+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FIRST-Tech-Challenge/FtcRobotController"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:03:41.260809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4dde6160a0727ccc2a065023cfecd358327c21a9a2cd2bd989d1a8266f345cae", "fetched_at": "2026-08-28T04:04:11.347352+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FIRST-Tech-Challenge/FtcRobotController"}], "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:11.347352+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.347352+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.347352+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:03:41.260809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4dde6160a0727ccc2a065023cfecd358327c21a9a2cd2bd989d1a8266f345cae", "fetched_at": "2026-08-28T04:04:11.347352+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FIRST-Tech-Challenge/FtcRobotController"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.347352+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.347352+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:03:41.260809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4dde6160a0727ccc2a065023cfecd358327c21a9a2cd2bd989d1a8266f345cae", "fetched_at": "2026-08-28T04:04:11.347352+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FIRST-Tech-Challenge/FtcRobotController"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.347352+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.347352+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.347352+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:03:41.260809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4dde6160a0727ccc2a065023cfecd358327c21a9a2cd2bd989d1a8266f345cae", "fetched_at": "2026-08-28T04:04:11.347352+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FIRST-Tech-Challenge/FtcRobotController"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.347352+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.347352+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:03:41.260809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4dde6160a0727ccc2a065023cfecd358327c21a9a2cd2bd989d1a8266f345cae", "fetched_at": "2026-08-28T04:04:11.347352+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FIRST-Tech-Challenge/FtcRobotController"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:03:41.260809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4dde6160a0727ccc2a065023cfecd358327c21a9a2cd2bd989d1a8266f345cae", "fetched_at": "2026-08-28T04:04:11.347352+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FIRST-Tech-Challenge/FtcRobotController"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:03:41.260809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4dde6160a0727ccc2a065023cfecd358327c21a9a2cd2bd989d1a8266f345cae", "fetched_at": "2026-08-28T04:04:11.347352+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FIRST-Tech-Challenge/FtcRobotController"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:03:41.260809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4dde6160a0727ccc2a065023cfecd358327c21a9a2cd2bd989d1a8266f345cae", "fetched_at": "2026-08-28T04:04:11.347352+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FIRST-Tech-Challenge/FtcRobotController"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 95, "longevity": 100, "rhythm": 83}, "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": 2176, "days_push": 33, "days_rel": 33, "gap_med": 74.5, "n_releases_24m": 9}, "score": 92, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}