The Great Android Stack Reset: Mobile System Design History
▲ 47 r/JetpackCompose+3 crossposts

The Great Android Stack Reset: Mobile System Design History

Android, the last to arrive at the declarative UI party, took its time, until finally reaching a stable solution. Here's a rundown of the major changes in the Android System Design across the eras.

I was away from Android for 7 years and came home to a totally strange place. This is my attempt to make sense of what happened while I was gone - how the stack reset four times (Activities -> MVP/RxJava -> Architecture Components -> Compose) and why each lurch happened. Written for interview prep but the history stands on its own.

returnzero.dev
u/Super-Performance-86 — 4 hours ago
▲ 6 r/JetpackCompose+1 crossposts

Showcase: compose-doctor - React Doctor for Android Jetpack Compose (Gradle Plugin + PR Gate + Agent Harness)

I built compose-doctor — a deterministic health check for Android Jetpack Compose, inspired by React Doctor (react.doctor).

The Problem

Compose linting rules exist (detekt + compose-rules), but they've been unbundled: scattered CLI output, no unified quality metric, and no standard harness to gate PRs or allow AI coding

agents to fix findings safely.

What compose-doctor does

  1. Deterministic 0–100 Score: Runs detekt + compose-rules under the hood and turns findings into a single score: score = 100 - (uniqueErrorRules * 1.5) - (uniqueWarningRules * 0.75) (Unit is unique rule IDs triggered, not instance count. Clearing a rule raises your score!)
  2. CI / PR Gate: Reusable GitHub Action posts a sticky PR comment with a health badge, score deltas, line numbers, and per-dimension breakdowns (State, Performance, Architecture).
  3. Self-Healing AI Agent Loop: Emits score.json and SARIF while bundling skills for Claude Code (/plugin marketplace add rotemmiz/compose-doctor), Gemini CLI, OpenCode, Codex, and Cursor

(AGENTS.md). Agents run the task, read the findings, fix one rule at a time, and verify build integrity.

Try it right now

The repo includes a deliberately-flawed playground feed app:

git clone https://github.com/rotemmiz/compose-doctor && cd compose-doctor
./gradlew -p playground composeDoctor

• Website: https://composedoctor.dev

• GitHub: https://github.com/rotemmiz/compose-doctor

• Gradle Plugin Portal: plugins { id("dev.composedoctor") version "0.1.0" }

Would love to hear your feedback!

u/Super-Performance-86 — 1 month ago