Tech Radar
Adopt / Trial / Assess / Hold — how I think about tech choices and trade-offs.
Adopt
Jetpack Compose
Declarative UI, less boilerplate, better tooling and performance for new Android UI.
Kotlin Coroutines / Flow
Standard for async and streams on Android; well understood and maintainable.
Modularization
Clear boundaries, faster builds, and parallel team ownership.
Baseline Profiles
Lock in startup and critical path performance; low cost, high impact.
Trial
Maestro (E2E)
Simpler, flaky-resistant E2E tests; good candidate to complement or replace existing UI test stack.
KMP where appropriate
Share business logic across Android/iOS when the cost of two codebases outweighs KMP complexity.
Detekt + custom rules
Consistent style and safety rules; custom rules for security and performance patterns.
Assess
On-device ML for fraud UX
Could improve step-up and risk UX; assess latency, accuracy, and privacy before broad adoption.
AI-assisted coding workflows
Productivity gains are real but need guardrails for security and quality; assess team-by-team.
Passkeys
Strong auth with better UX; assess ecosystem support and fallback for older devices.
Hold
RxJava (favor Flow)
Prefer Kotlin Flow for new code; migrate existing Rx where it adds maintenance cost.
Overusing reflection
Fragile, hard to obfuscate, and slow; use only where necessary and document.
Monolithic feature modules
Prefer smaller, single-responsibility modules for build time and ownership.