skydoves
skydoves.bsky.social
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
If you want a deep understanding of Jetpack Compose’s internal mechanisms, covering the Compose compiler, runtime, and UI, don’t miss their Christmas 50% discounts.

leanpub.com/composeinter...
Jetpack Compose internals
This book consciously explores the guts of Jetpack Compose, the brand new library by Google and the Android team that will become the future of Android UI.
leanpub.com
December 22, 2025 at 9:36 AM
Sandwich 2.2.0 has been released.

Now it supports recovery, validation, filter, zip, and peek extensions for ApiResponse. Sandwich is an adaptable and lightweight sealed API library designed for handling API responses and exceptions in Kotlin.

github.com/skydoves/san...
GitHub - skydoves/sandwich: 🥪 Sandwich is an adaptable and lightweight sealed API library designed for handling API responses and exceptions in Kotlin for Retrofit, Ktor, and Kotlin Multiplatform.
🥪 Sandwich is an adaptable and lightweight sealed API library designed for handling API responses and exceptions in Kotlin for Retrofit, Ktor, and Kotlin Multiplatform. - skydoves/sandwich
github.com
December 22, 2025 at 9:33 AM
I just published a new article, 'Understanding Google Play’s subscription lifecycle: a complete guide'.

You will break down the complete Google Play subscription lifecycle in depth, and how RevenueCat makes everything easy.

www.revenuecat.com/blog/enginee...
Understanding Google Play's subscription lifecycle: a complete guide
You will break down the complete Google Play subscription lifecycle in depth.
www.revenuecat.com
December 22, 2025 at 1:10 AM
Balloon 1.7.0 has been released!

It fixed a bunch of issues, and now you can implement tooltips on a composable function with `Modifier.balloon(balloonState)` API.

github.com/skydoves/Bal...
GitHub - skydoves/Balloon: :balloon: Modernized and sophisticated tooltips, fully customizable with an arrow and animations for Android and Jetpack Compose.
:balloon: Modernized and sophisticated tooltips, fully customizable with an arrow and animations for Android and Jetpack Compose. - skydoves/Balloon
github.com
December 21, 2025 at 6:40 AM
The RevenueCat's IntelliJ plugin is live on JetBrains Marketplace 🎉

plugins.jetbrains.com/plugin/29265...
RevenueCat Dashboard - IntelliJ IDEs Plugin | Marketplace
RevenueCat Dashboard integration for IntelliJ IDEA and Android Studio. Features: Connect to your RevenueCat Dashboard directly from your IDE Receive real-time...
plugins.jetbrains.com
December 20, 2025 at 6:32 AM
How do you handle in-app purchases & subscriptions in Kotlin Multiplatform? I'm working on an OSS project that demonstrates IAP in both Android & iOS using @revenuecat.com .
December 20, 2025 at 6:20 AM
Manifest Android Interview book v1.10 has been released.

Also, the main page has been renewed. This book covers Android and Compose fundamentals, internals, and concepts useful for technical interviews.

www.android.skydoves.me
Manifest Android Interview - The Ultimate Android & Jetpack Compose Interview Guide
Master Android interviews with 108 questions, 162 exercises, and 50+ pro tips. Deep dive into Android Framework, Jetpack Compose, UI architecture, and more. By Google Developer Expert Jaewoong Eum.
www.android.skydoves.me
December 20, 2025 at 12:45 AM
Compose Stability Analyzer has already surpassed 10,000 downloads on the JetBrains Marketplace.

Real-time analysis plugin of Jetpack Compose composable functions' stability directly within Android Studio or IntelliJ IDE.

github.com/skydoves/com...
December 19, 2025 at 1:34 PM
KMP in-app purchases & paywalls codelab using RevenueCat.

revenuecat.github.io/codelab/kmp/...
KMP In-App Purchases & Paywalls
revenuecat.github.io
December 19, 2025 at 3:31 AM
Cloudy 0.4.0 has been released.

☁️ Kotlin Multiplatform blur effect library for Compose, with GPU-accelerated rendering and CPU fallback for older devices.

It now also has its own documentation, complete with an interactive playground.

skydoves.github.io/Cloudy/
Cloudy Documentation
Cross-platform blur effects for Compose Multiplatform
skydoves.github.io
December 18, 2025 at 10:40 AM
Kotlin 2.3.0 introduces explicit backing fields.

A new syntax for explicitly declaring the underlying field that holds a property's value, in contrast to the existing implicit backing fields.

kotlinlang.org/docs/whatsne...
December 17, 2025 at 12:35 PM
Landscapist 2.6.2 has been released.

🌻 A pluggable, highly optimized Jetpack Compose and Kotlin Multiplatform image loading library that fetches and displays network images with Glide, Coil, and Fresco.

github.com/skydoves/lan...
GitHub - skydoves/landscapist: 🌻 A pluggable, highly optimized Jetpack Compose and Kotlin Multiplatform image loading library that fetches and displays network images with Glide, Coil, and Fresco.
🌻 A pluggable, highly optimized Jetpack Compose and Kotlin Multiplatform image loading library that fetches and displays network images with Glide, Coil, and Fresco. - skydoves/landscapist
github.com
December 17, 2025 at 10:10 AM
I just published a new blog post, 'Monetize from Your IDE: AI Assistant + RevenueCat MCP in the IntelliJ Plugin'.

In this article, you’ll explore how the AI Assistant works in RevenueCat’s IntelliJ plugin.

www.revenuecat.com/blog/enginee...
Monetize from Your IDE: AI Assistant + RevenueCat MCP in the IntelliJ Plugin
Explore how the AI Assistant works in RevenueCat's IntelliJ plugin, what you can accomplish with it to boost your subscription revenue.
www.revenuecat.com
December 17, 2025 at 2:34 AM
Auto-renewing subscriptions are incredibly complex. Just use @revenuecat.com to make your life easier.

developer.android.com/google/play/...
December 16, 2025 at 6:30 AM
Super excited that we're announcing the @revenuecat.com IntelliJ plugin, which is a tool that integrates RevenueCat's core functionality directly into your IDE! 🚀

www.revenuecat.com/blog/enginee...
Announcing RevenueCat IntelliJ Plugin
We're announcing the RevenueCat IntelliJ plugin, which is a tool that integrates RevenueCat's core functionality directly into your IDE.
www.revenuecat.com
December 15, 2025 at 1:34 AM
Compose Stability Inference.

📚 A comprehensive study of how the Compose compiler determines type stability for recomposition optimization.

github.com/skydoves/com...
GitHub - skydoves/compose-stability-inference: 📚 A comprehensive study of how the Compose compiler determines type stability for recomposition optimization.
📚 A comprehensive study of how the Compose compiler determines type stability for recomposition optimization. - skydoves/compose-stability-inference
github.com
December 14, 2025 at 10:59 AM
A new book 'Practical Kotlin Deep Dive' is coming soon! 🚀
December 14, 2025 at 3:59 AM
Compose Stability Analyzer 0.6.2 has been released.

Classes from different Gradle modules are now marked as unstable by default based on dependency graph analysis.

github.com/skydoves/com...
Release 0.6.2 · skydoves/compose-stability-analyzer
[0.6.2] - 2025-12-13 Added Cross-module stability detection - Classes from other modules now require explicit stability annotations Classes from different Gradle modules are marked as UNSTABLE un...
github.com
December 13, 2025 at 2:38 AM
I just published a new RevenueCat Codelab, 'Boost Your App Revenue with RevenueCat'.

revenuecat.github.io/codelab/mone...
Boost Your App Revenue with RevenueCat
revenuecat.github.io
December 10, 2025 at 3:50 AM
Published a new article, 'Inside Jetpack ViewModel: Internal Mechanisms and Multiplatform Design'.

It explores how Jetpack ViewModel really works under the hood and how the same core design enables multiplatform support.

skydoves.medium.com/inside-jetpa...
Inside Jetpack ViewModel: Internal Mechanisms and Multiplatform Design
Jetpack’s ViewModel has become an essential component of modern Android development, providing a lifecycle-aware container for UI-related…
skydoves.medium.com
December 7, 2025 at 2:33 AM
Real-Time Stability Insights for Jetpack Compose.

youtu.be/Z0iHRWu09J4?...
Real-Time Stability Insights for Jetpack Compose ⚡️
YouTube video by Stevdza-San
youtu.be
December 7, 2025 at 12:25 AM
Cloudy 0.3.0 has been released, and now it supports Kotlin Multiplatform!

☁️ Kotlin Multiplatform blur effect library for Compose, with GPU-accelerated rendering and CPU fallback for older devices.

Shoutout to HyunWoo Lee for this major contribution.

github.com/skydoves/Clo...
GitHub - skydoves/Cloudy: ☁️ Kotlin Multiplatform blur effect library for Compose, with GPU-accelerated rendering and CPU fallback for older devices.
☁️ Kotlin Multiplatform blur effect library for Compose, with GPU-accelerated rendering and CPU fallback for older devices. - skydoves/Cloudy
github.com
December 6, 2025 at 2:29 AM
Compose Stability Analyzer 0.6.1 has been released.

Compose Stability Analyzer provides real-time analysis of your Jetpack Compose composable functions' stability directly within Android Studio or IntelliJ.

github.com/skydoves/com...
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
github.com
December 6, 2025 at 1:02 AM
Just published a new open-source project, @revenuecat.com IntelliJ Plugin!

This IntelliJ Plugin brings subscription metrics, new purchase notifications, SDK release notes, and SDK integration directly into your IDE directly.

github.com/RevenueCat/i...
December 5, 2025 at 8:18 AM