Most Active Speaker

Pavlo Stavytskyi

Pavlo Stavytskyi

Staff Software Engineer at Meta | Google Developer Expert for Android, Kotlin

San Francisco, California, United States

Actions

Pavlo is a Staff Software Engineer at Meta. He is also a Google Developer Expert for Android and Kotlin. Previously he worked at Lyft, Turo and Grab on mobile infrastructure. He develops Android apps, focusing on mobile performance, developer productivity, and infrastructure.

Awards

Area of Expertise

  • Information & Communications Technology

Topics

  • Android
  • Kotlin
  • Bazel
  • Performance
  • Gradle
  • Jetpack Compose
  • Architecture
  • Developer Productivity

Detecting Memory Leaks in Android A/B Tests: A Production-Focused Approach

This talk explores a production-focused method for measuring Android app memory usage to detect subtle memory leaks and regressions often missed by local profiling.

A/B tests are key to understanding how new features truly impact users. A production-focused memory monitoring approach helps safeguard the features within A/B tests against memory leaks or regressions, preventing the exposure of performance issues to the entire user base.

Learn which metrics to collect, how to gather production data, and how to analyze it effectively to optimize the performance of Android apps during A/B experimentation.

Designing Jetpack Compose architecture for gradual transition from Fragments

While the engineering community is excited about adopting Jetpack Compose, in reality, we all have existing codebases that rely on a legacy UI stack.

In this talk, I will share how we designed a Jetpack Compose architecture at Turo that provides seamless integration in the existing fragment-based codebase.

I will cover how we leveraged the power of Kotlin Symbol Processing (KSP) API to build an abstraction over the navigation that enables easy multi-module navigation out-of-the-box and covers the following navigation scenarios:
• fragment to compose
• compose to compose
• compose to fragment

How we reduced startup time of Turo Android app by 77%

The startup time of a mobile app is one of the most important indicators of its performance and has a significant impact on the user experience. A fast-loading app not only provides a positive first impression, but also increases engagement and retention, reduces user churn, and can improve visibility in app store rankings.

In this talk, I'm going to share how the startup time of the Turo Android app was reduced by 77%. You will learn how to apply best practices and Android developer tools to improve the startup performance of your Android apps.

Scalable multi-module architecture for Jetpack Compose apps

Jetpack Compose, navigation, multi-module architecture, API and Impl modules, dependency injection — in this talk, we will see how these components can be combined into a scalable multi-module architecture using best practices in Android development. We will also see how to use a Compose Navigation API to efficiently navigate through features in multi-module apps.

Advanced techniques for building Kotlin DSL(s)

How to create Kotlin DSL that looks like the syntax of a programming language?
In this talk, I would like to talk about advanced techniques for creating Kotlin DSL.
As an example, we will see how to build a DSL that looks like a Starlark programming language, a Python dialect used for writing build scripts for Bazel build system. This DSL is a declarative code generator that builds an abstract syntax tree of a Starlark language and then generates a formatted code based on it.
However, all the concepts described in this talk are applicable to any kind of Kotlin DSL(s) including ones for Android projects.
The example project was presented at BazelCon 2021, a Google conference about Bazel build system: https://youtu.be/dz-CFEwJuko
In addition, there is a blog post that shows the capabilities of this DSL: https://proandroiddev.com/304fa8b3680c
The source code is available on GitHub: https://github.com/Morfly/airin

Measuring CPU performance of Android apps

In this session, I'm going to talk about how at Lyft we measure the CPU performance of our apps and share our insights about it.
The main goal is to identify how much load the app puts on the CPU and how to use this information to improve its performance.
We will see, what metrics we need to collect, and how to retrieve and calculate them.

P99 CONF 2024 Sessionize Event

October 2024

Android Worldwide January 2024 Sessionize Event

January 2024

P99 CONF 2023 Sessionize Event

October 2023

droidcon NYC 2023 Sessionize Event

September 2023 New York City, New York, United States

mobileWeek 2023 Sessionize Event

August 2023 San Mateo, California, United States

Android Worldwide July 2023 Sessionize Event

July 2023

droidcon San Francisco 2023 Sessionize Event

June 2023 San Francisco, California, United States

Android Worldwide October 2022 Sessionize Event

October 2022

P99 CONF 2022 Sessionize Event

October 2022

droidcon NYC 2022 Sessionize Event

September 2022 New York City, New York, United States

Android Worldwide July 2022 Sessionize Event

July 2022

droidcon San Francisco 2022 Sessionize Event

June 2022 San Francisco, California, United States

BazelCon 2021

November 2021

Pavlo Stavytskyi

Staff Software Engineer at Meta | Google Developer Expert for Android, Kotlin

San Francisco, California, United States

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top