Skip to main content

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.