Android engineer · Clean architecture, polished experiences

I build softwarethat feelsconsidered.

I’m Derek, an Android engineer who defines scalable UI patterns and builds maintainable applications from Compose through the data layer.

CURRENT_FOCUS

UI Architecture

BUILDING_WITH

KotlinComposeC++ / JNI

01 Engineering with product instinct

Scroll to explore

A little context

More than screens and syntax.

I build Android systems that remain understandable, testable, and adaptable as products grow.

As an L3 Software Engineer and UI architecture owner, I establish scalable patterns with Jetpack Compose, MVI, ViewModels, and Clean Architecture. I maintain clear, dependency-inverted boundaries from the UI and domain layers through Room persistence and JNI-backed C++ integration in the data layer.

01

Architecture owner

Define UI conventions and boundaries that keep Compose features consistent as the application evolves.

02

Loosely coupled

Use domain interfaces, dependency inversion, and Hilt to keep responsibilities explicit and replaceable.

03

Built to last

Apply SOLID principles, clean code, and focused tests to make change safer over the long term.

Professional impact

Architecture in motion.

Production work where better structure translated into simpler workflows, safer changes, and more capable Android systems.

01Android modernization

Modernized application architecture.

Led the transition from imperative Java and observer-based patterns to Jetpack Compose, MVI, Clean Architecture, Hilt, and layered automated testing.

  • Reusable UI patterns
  • Dependency-inverted boundaries
  • Testable state
02Workflow automation

Simplified hardware integration.

Architected operator-facing Android workflows that replaced manual, CLI-driven vehicle and radio pairing with dynamic discovery and automated configuration.

  • Lower operational complexity
  • Dynamic configuration
  • Operator-first UX
03Native interoperability

Connected Android to native systems.

Designed bounded JNI integrations that expose existing C++ capabilities through maintainable Android data-layer interfaces.

  • JNI / C++
  • Data-layer isolation
  • Stable domain contracts

Selected work

Ideas made tangible.

A selection of mobile, backend, embedded, and civic projects built to explore real problems.

Cat Tracker hardware and data visualization03

Embedded experiment

Cat Tracker 5000

An Arduino data-collection system that measures a pet’s response time at mealtime using sound and motion sensors, timestamps each event, and exports the results for analysis.

  • Arduino
  • C++
  • Sensors
  • Data logging

Engineering approach

Built for change.

Architecture should make product development safer and more predictable while increasing developer velocity—not add ceremony for its own sake.

Mobile first.
Systems fluent.

I work across the Android application stack, creating clear boundaries and reusable patterns that help engineers ship confidently and move faster.

Read the AgentStatusCard case study
01

UI Architecture

Translate product designs into reusable, themed Material 3 components and establish consistent Compose and MVI state patterns across the application.

02

App Architecture

Clean Architecture, SOLID principles, domain interfaces, dependency inversion, and Hilt.

03

Platform & Data

Design lifecycle-aware foreground services for reliable long-running work under Android’s background-execution constraints, with Room persistence and bounded JNI/C++ integration.

04

Testing & Quality

Build confidence with pure Kotlin unit tests, Flow testing with Turbine, instrumented tests, and automated Jetpack Compose UI tests using JUnit and AssertK.

Additional experience Working knowledge of Kotlin Multiplatform and shared cross-platform architecture.

Open to the right opportunity

Looking for an Android engineer?

I’m interested in teams that value thoughtful architecture, polished user experiences, and software built to last. If that sounds like yours, I’d like to hear from you.