Architecture owner
Define UI conventions and boundaries that keep Compose features consistent as the application evolves.
Android engineer · Clean architecture, polished experiences
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
01 Engineering with product instinct
A little context
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.
Define UI conventions and boundaries that keep Compose features consistent as the application evolves.
Use domain interfaces, dependency inversion, and Hilt to keep responsibilities explicit and replaceable.
Apply SOLID principles, clean code, and focused tests to make change safer over the long term.
Professional impact
Production work where better structure translated into simpler workflows, safer changes, and more capable Android systems.
Led the transition from imperative Java and observer-based patterns to Jetpack Compose, MVI, Clean Architecture, Hilt, and layered automated testing.
Architected operator-facing Android workflows that replaced manual, CLI-driven vehicle and radio pairing with dynamic discovery and automated configuration.
Designed bounded JNI integrations that expose existing C++ capabilities through maintainable Android data-layer interfaces.
Selected work
A selection of mobile, backend, embedded, and civic projects built to explore real problems.
01Mobile product
A cross-platform app that connects audiences with nearby live entertainers for real-time song requests. Built around location-aware discovery, role-based experiences, and live request management.
02Engineering approach
Architecture should make product development safer and more predictable while increasing developer velocity—not add ceremony for its own sake.
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 studyTranslate product designs into reusable, themed Material 3 components and establish consistent Compose and MVI state patterns across the application.
Clean Architecture, SOLID principles, domain interfaces, dependency inversion, and Hilt.
Design lifecycle-aware foreground services for reliable long-running work under Android’s background-execution constraints, with Room persistence and bounded JNI/C++ integration.
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
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.