Native Android development in Kotlin and Java.

  • Technical leadership on native Android projects
  • Expertise in developing for the Android user experience including best practices for permissions, notifications, back button behaviour, and other UX
  • Building Design Systems that support both light and dark appearance modes to support teams in building out views
  • High attention to detail with regards to UI implementation and striving for pixel-perfect layouts on Android
  • Building Android apps that support multiple flavours and build variants, e.g. Development, Staging and Production app flavours.
  • Extensive experience with Android SDK versions and have been building functionality to support down to Lollipop (and previously Jellybean)
  • Building support for deep link functionality including deferred deep linking
  • Working with a variety of libraries and API's including Firebase, error trackers, networking libraries, etc.
  • Working with push notifications and allowing users to configure notifications based on type
  • Networking, including REST with JSON, web sockets, gRPC, and Protobuf
  • MVVM architecture with LiveData and architecture components
  • Reactive programming with Kotlin flows and LiveData with experience in Rx
  • Data persistence in SQLite with Room database
  • Implementing asynchronous worker tasks with WorkManager
  • Building location-based functionality including "near me" functionality and working with maps
  • Building custom UI for audio/video recording
  • Building web view applications and enabling communication between the web view and native layer
  • Unit testing in Java and Kotlin, including with coroutines, JUnit (4 & 5), Mockk
  • Automated UI testing with Espresso and Appium
  • Setting up Android lint and Kotlin lint to ensure code style consistency in the project
  • CI/CD setup for running tests, lint and other tasks for Git workflows, as well as automating deployments and code signing for Firebase App Distribution and the Google Play Store
  • Most of my experience is working with XML views, but I have also built projects using Jetpack Compose, as well as worked in apps that use both
  • Building apps that use Kotlin Multiplatform Mobile to build apps in Kotlin for both Android and iOS

Below are some projects that use Android.

See all the other Technologies I work with.

Projects that use Android