skydoves's Avatar

skydoves

@skydoves.bsky.social

Senior Developer Advocate at @revenuecat.com πŸ₯‘ Google Developer Expert for Android and Kotlin. An open-source software engineer. GitHub: github.com/skydoves Dove Letter: github.com/doveletter Book for Android: https://www.android.skydoves.me

942 Followers  |  111 Following  |  398 Posts  |  Joined: 05.11.2024  |  1.7947

Latest posts by skydoves.bsky.social on Bluesky

Preview
Integrate Compose Stability Analyzer by skydoves Β· Pull Request #767 Β· skydoves/landscapist Integrate Compose Stability Analyzer Summary by CodeRabbit Chores Integrated Compose stability analyzer tooling for improved build optimization and composable performance analysis. Added automat...

Here’s an example of a stability analysis report and CI setup using Compose Stability Analyzer:

github.com/skydoves/lan...

05.11.2025 13:28 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Compose Stability Analyzer is live on JetBrains Marketplace. Now you can directly download/update on your Android Studio or IntelliJ IDE.

github.com/skydoves/com...

05.11.2025 10:54 β€” πŸ‘ 18    πŸ” 5    πŸ’¬ 1    πŸ“Œ 0
Post image Post image Post image Post image

I had a blast being part of Droidcon London 2025. Thank you to everyone who joined my sessions and visited our RevenueCat booth!

05.11.2025 07:03 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
GitHub - RevenueCat/cat-paywall-compose: 🐈 Cat Paywall Compose demonstrates the paywall with Google Play's billing system using RevenueCat SDK for Android and Jetpack Compose. 🐈 Cat Paywall Compose demonstrates the paywall with Google Play's billing system using RevenueCat SDK for Android and Jetpack Compose. - RevenueCat/cat-paywall-compose

Cat Paywall Compose 1.0.4 has been released.

Now it demonstrates the customer center, and the paywall with Google Play's billing system using @revenuecat.com SDK for Android and Jetpack Compose.

github.com/RevenueCat/c...

05.11.2025 02:36 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
GitHub - skydoves/compose-stability-analyzer: πŸ¦„ Real-time analysis of Jetpack Compose composable functions' stability directly within Android Studio or IntelliJ. πŸ¦„ Real-time analysis of Jetpack Compose composable functions' stability directly within Android Studio or IntelliJ. - skydoves/compose-stability-analyzer

Compose Stability Analyzer 0.4.2 has been released.

It enhances the stability of inferences and prevents recursive inferences for specific Compose tree structures.

github.com/skydoves/com...

04.11.2025 08:31 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Thank you, Jay! It was a great chance to glance at how you carefully designed this SDK 😁

03.11.2025 19:01 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Thank you so much for your support, Ed!! This meant a lot to me ❀️

03.11.2025 19:00 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Check out some of the design decisions we took when building our KMP SDK πŸ‘‡

03.11.2025 18:19 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
Understanding the native SDK wrapper pattern in Kotlin Multiplatform In this deep dive, we’ll explore how RevenueCat’s delegation pattern wraps native Android and iOS SDKs, enables effortless bidirectional conversion, and minimizes wrapper overhead.

I just published a new article, 'Understanding the native SDK wrapper pattern in Kotlin Multiplatform'.

In the following deep dive, we’ll explore the delegation pattern used by @revenuecat.com, and how it gracefully wraps native Android and iOS SDKs.

www.revenuecat.com/blog/enginee...

03.11.2025 16:30 β€” πŸ‘ 9    πŸ” 1    πŸ’¬ 1    πŸ“Œ 1
Preview
GitHub - RevenueCat/placeholder-compose: ✨ Fully customizable placeholder loading effects for Jetpack Compose and KMP. ✨ Fully customizable placeholder loading effects for Jetpack Compose and KMP. - RevenueCat/placeholder-compose

Placeholder Compose 1.0.2 has been released.

✨ Fully customizable placeholder loading effects for Jetpack Compose and KMP.

github.com/RevenueCat/p...

03.11.2025 11:44 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Understanding Google Play subscription proration: a developer's guide Google Play's subscription proration system gives you fine-grained control over how users are charged when changing plans.

Thanks @androidweekly.bsky.social for featuring my recent article, 'Understanding Google Play subscription proration: a developer’s guide', last week!

www.revenuecat.com/blog/enginee...

03.11.2025 06:46 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Post image

Additionally, you can trace the reason of your composable function is triggered recomposition with a TraceRecomposition annotation, and export stability compatibility reports using Gradle tasks for reviewing the new stability changes.

02.11.2025 06:13 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Compose Stability Analyzer provides real-time analysis of composable functions' stability directly within Android Studio or IntelliJ. It helps you understand why a composable function is stable or unstable, and offers detailed insights through recomposition tracing and logging.

02.11.2025 06:13 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
GitHub - skydoves/compose-stability-analyzer: πŸ¦„ Real-time analysis of Jetpack Compose composable functions' stability directly within Android Studio or IntelliJ. πŸ¦„ Real-time analysis of Jetpack Compose composable functions' stability directly within Android Studio or IntelliJ. - skydoves/compose-stability-analyzer

I'm happy to share that I published a new open-source library, Compose Stability Analyzer!

This is a plugin that provides real-time stability analysis for Jetpack Compose functions in Android Studio or IntelliJ IDEA.

github.com/skydoves/com...

02.11.2025 06:13 β€” πŸ‘ 43    πŸ” 16    πŸ’¬ 3    πŸ“Œ 1
Post image

Droidcon London starts tomorrow! πŸ‡¬πŸ‡§

29.10.2025 07:28 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

Hello, London! πŸ‡¬πŸ‡§

28.10.2025 09:34 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

I'm pleased to see a review of my book, Manifest Android Interview. Thank you to everyone who read this book, supported, and shared feedback!

www.android.skydoves.me

27.10.2025 20:23 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Navigation 3 Β |Β  App architecture Β |Β  Android Developers

Navigation 3.

developer.android.com/guide/naviga...

27.10.2025 19:54 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Understanding Google Play subscription proration: a developer's guide Google Play's subscription proration system gives you fine-grained control over how users are charged when changing plans.

I just published a new blog post 'Understanding Google Play subscription proration: a developer’s guide'.

Google Play's subscription proration system gives you fine-grained control over how users are charged when changing plans.

www.revenuecat.com/blog/enginee...

24.10.2025 01:39 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Release Kotlin 2.2.21 Β· JetBrains/kotlin Changelog Backend. Wasm KT-81372 K/Wasm: JsException: Exception was thrown while running JavaScript code on Safari 18.2/18.3 KT-80018 K/Wasm: exceptions don't work properly in JavaScriptCore (vm i...

Kotlin 2.2.21 is out

github.com/JetBrains/ko...

23.10.2025 13:13 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Working on more custom options - Compose Stability Analyzer

23.10.2025 11:23 β€” πŸ‘ 17    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

Oh yea, exactly. So I really need to give a heads-up somewhere, "You don't need to fix every unstable to stable" with Ben Trengrove's blog post. Still, it could be fun to use it as a tool for learning and exploring Compose’s stability system.

20.10.2025 23:27 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Dove Letter Dove Letter is a private subscription repository where you can learn, discuss, and share new knowledge about Android and Kotlin. - Dove Letter

At the moment, this plugin is available for Dove Letter followers to try in a pre-release trial.

github.com/doveletter

20.10.2025 13:16 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Working on a plugin that provides real-time stability analysis for Jetpack Compose functions in Android Studio.

20.10.2025 13:16 β€” πŸ‘ 44    πŸ” 4    πŸ’¬ 6    πŸ“Œ 1
DroidKaigi 2025 - БтворСння Π½Π°Π΄Ρ–ΠΉΠ½ΠΈΡ… Android-Π±Ρ–Π±Π»Ρ–ΠΎΡ‚Π΅ΠΊ (ΠŸΠ΅Ρ€Π΅ΠΊΠ»Π°Π΄ ΡƒΠΊΡ€Π°Ρ—Π½ΡΡŒΠΊΠΎΡŽ)
YouTube video by Roman Andrushchenko DroidKaigi 2025 - БтворСння Π½Π°Π΄Ρ–ΠΉΠ½ΠΈΡ… Android-Π±Ρ–Π±Π»Ρ–ΠΎΡ‚Π΅ΠΊ (ΠŸΠ΅Ρ€Π΅ΠΊΠ»Π°Π΄ ΡƒΠΊΡ€Π°Ρ—Π½ΡΡŒΠΊΠΎΡŽ)

The Ukrainian translation of my recent speaking at DroidKaigi 2025! πŸ‡ΊπŸ‡¦

Kudos to Roman, who translated all this video and contributed to the community.

youtu.be/LGfqaQ1qFy8?...

18.10.2025 22:25 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Super excited to be speaking at Droidcon London 2025 very soon!

17.10.2025 06:13 β€” πŸ‘ 14    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Preview
Understanding the internal of Flow, StateFlow, and SharedFlow In this article, you'll dive deep into the internal mechanisms of Flow, StateFlow, and SharedFlow, exploring how they work under the hood.

I just published a new article, 'Understanding the internals of Flow, StateFlow, and SharedFlow'.

In this article, you’ll dive deep into the internal mechanisms of Flow, StateFlow, and SharedFlow, exploring how they work under the hood.

www.revenuecat.com/blog/enginee...

16.10.2025 00:27 β€” πŸ‘ 9    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Preview
Understanding retain{} internals: A Scope-based State Preservation in Jetpack Compose Jetpack Compose is a modern Android UI development with its declarative approach and powerful state management primitives. While remember{}…

Published a new article, 'Understanding retain{} internals: A Scope-based State Preservation in Jetpack Compose'.

Now you can try to use an experimental retain{} API. In this article, you’ll dive deep into the internal mechanisms of retain{}.

medium.com/proandroidde...

15.10.2025 07:10 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
GitHub - RevenueCat/placeholder-compose: ✨ Fully customizable placeholder loading effects for Jetpack Compose and KMP. ✨ Fully customizable placeholder loading effects for Jetpack Compose and KMP. - RevenueCat/placeholder-compose

I just published a new open-source library, placeholder-compose.

✨ Fully customizable placeholder loading effects for Jetpack Compose and KMP.

github.com/RevenueCat/p...

14.10.2025 03:13 β€” πŸ‘ 10    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
SubComposeLayout and BoxWithConstraints internals in Jetpack Compose In this article, you'll dive deep into SubcomposeLayout, the internal mechanisms that power it, how BoxWithConstraints leverages it.

I just published a new article, 'SubComposeLayout and BoxWithConstraints internals in Jetpack Compose'.

In this article, you'll dive deep into SubcomposeLayout, the internal mechanisms that power it, how BoxWithConstraints leverages it.

www.revenuecat.com/blog/enginee...

13.10.2025 06:07 β€” πŸ‘ 7    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

@skydoves is following 20 prominent accounts