Rahul Ravikumar
banner
rahulrav.com
Rahul Ravikumar
@rahulrav.com
Software Engineer at Google working on the Android Toolkit team.
Given the state of Windows 11 + Copilot 🤮; 2026 might actually be the year of Linux on the Desktop. Framework 16+ Ubuntu has been a breath of fresh air.
January 2, 2026 at 4:23 AM
Happy UniFi Travel Router day to those who celebrate it 🎉
store.ui.com/us/en/catego...
UniFi Travel Router - Ubiquiti Store
An ultra-slim travel router that instantly extends your UniFi Network wherever you are, bringing secure, familiar connectivity to remote locations.
store.ui.com
December 29, 2025 at 4:36 PM
I presented an updated version of "A Busy (Android) Developers guide to Perfetto" at Droidcon India this past week. The session was packed and was standing room only !

There were so many other wonderful Performance talks !
December 17, 2025 at 5:36 AM
Reposted by Rahul Ravikumar
This release also adds support for Compose stack traces that work with minified apps! (requires R8 and Kotlin 2.3.0+)
Compose 1.10 was released yesterday! 🔟

It includes some nice new features:

🧞‍♀️ Support for dynamic shared elements
👰🏻‍♀️ New Enter/Exit Transitions: unveilIn / veilOut
⏭️ Modifier.skipToLookaheadPosition()
📦 New retain APIs influenced by Circuit

android-developers.googleblog.com/2025/12/what...
What's new in the Jetpack Compose December '25 release
News and insights on the Android platform, developer tools, and events.
android-developers.googleblog.com
December 4, 2025 at 4:05 PM
Reposted by Rahul Ravikumar
New blog post on how to render beautiful soft shadows projected by the user's finger with Jetpack Compose.

www.romainguy.dev/posts/2025/f...
November 29, 2025 at 11:15 PM
Reposted by Rahul Ravikumar
In case you want to become a benevolent Gradle overlord, I've got you some tips

Recording:
youtu.be/o99f54pYGgc?...

Slides:
speakerdeck.com/aurimas/the-...

#gradle
The Benevolent Gradle Overlord: Keeping Order - Aurimas Liutikas | droidcon London 2025
YouTube video by droidcon & fluttercon
youtu.be
November 29, 2025 at 8:20 PM
Reposted by Rahul Ravikumar
My talk: The Busy Android Developers Guide to Perfetto is now up on YouTube !

Root-causing problems is a lot of fun. Once you start you can't stop 😜

Happy Tracing !!
November 24, 2025 at 12:31 AM
R8 is effectively free performance optimizations. A little work for an incredibly high ROI.
Don't ignore this tip! We've switched to using the optimized proguard file & shrinking resources in our latest release and have seen a massive drop in all performance related metrics, with slow app launch metrics dropping >30%. All from a 5 minute code change!
Run this and let me know the output:
`grep "dontoptimize" app/build/outputs/mapping/release/configuration.txt`

In case it's not empty, you definitely should watch this youtu.be/QqO2jZ-NZko?...
November 20, 2025 at 4:05 PM
Reposted by Rahul Ravikumar
We're just starting a Spotlight Week on Performance. So get yourselves ready for some g-R8 content.
Get your app on the fast track with Android Performance Spotlight Week!
News and insights on the Android platform, developer tools, and events.
android-developers.googleblog.com
November 17, 2025 at 5:10 PM
Reposted by Rahul Ravikumar
Navigation3 reaches API stability this week with the 1.0.0-beta01 release! There's a few important bug fixes in this release as well, but this beta means we're only a few weeks away from rc01 and then stable!

If you run into any issues, please let us know ASAP
developer.android.com/jetpack/andr...
navigation3  |  Jetpack  |  Android Developers
developer.android.com
October 24, 2025 at 9:11 PM
I made plot-benchmarks (a tool to view and compare AndroidX Benchmark Results) public.
androidx.dev/benchmarks/p...

Simply drag and drop the benchmark JSON to the page, and you can start plotting and comparing !

The souce code for the app is here: cs.android.com/androidx/pla...
Plot Benchmarks
androidx.dev
October 22, 2025 at 5:26 PM
Reposted by Rahul Ravikumar
Since we're doing this... I'll be giving a quick introduction to shaders and how they work. It's a topic that really excites (and scares, a bit) me, lately. I hope it'll get y'all excited too :) But not scared. Even though it's halloween.
October 10, 2025 at 12:13 PM
I will be presenting at Droidcon London this year to talk about Tracing, and Perfetto ! If you are interested in Perfetto, or App performance in general - this talk is for you. If you would like me to cover something specific, please let me know and I promise to try.
October 10, 2025 at 12:06 PM
My ex-Apple colleague used Nano Banana with the prompt:

"Restore the person in the photo into the Apple Ecosystem".
September 26, 2025 at 3:16 PM
Happy 79th Birthday 🇮🇳 🎈
August 15, 2025 at 6:31 AM
Reposted by Rahul Ravikumar
We have a new episode of the Android Developers Backstage podcast up -- this time @chethaase.com and I are talking to Melba Nuzen and Ralston Da Silva from the Compose team about Autofill!

www.youtube.com/watch?v=Tb6b...
Autofill in Compose
YouTube video by Android Developers
www.youtube.com
August 14, 2025 at 2:18 PM
I finally get to delete the AlarmManager based implementation for work scheduling in WorkManager (after the minSdkVersion update to 23).

This was the first _big_ task when I joined the UI Toolkit team in 2018, so it feels like end of an era.

android-review.googlesource.com/c/platform/f...
Gerrit Code Review
android-review.googlesource.com
August 2, 2025 at 12:08 AM
Been working on a new experimental Kotlin Multiplatform Tracing library capable of emitting Perfetto compatible traces. Currently supporting Android and JVM with the goal of eventually supporting other platforms. Here is the README if you want to try it out.

github.com/androidx/and...
github.com
February 4, 2025 at 3:42 AM
Reposted by Rahul Ravikumar
The Android UI & Jetpack Compose team is building a new team in Bengaluru!
Join us in building exciting new APIs for Jetpack Compose as well as the other UI libraries and help us expand to Bengaluru.

EM: goo.gle/4gt9dMl
SWE: goo.gle/4dQb9w7
PM: goo.gle/compose-pm-in
DevRel: goo.gle/3DE8B7T
Engineering Manager, Android Toolkit — Google Careers
goo.gle
January 30, 2025 at 10:44 AM
That feeling when you solve a problem using Coroutines Intrinsics 😍.

Can you introduce subtle bugs that corrupt the Coroutines state machinery ? Absolutely.

But, when things work it feels pretty great. I still find it funny that Intellij downright refuses to add imports for them automatically.
January 18, 2025 at 2:17 AM
This is so true. You build so much tenacity chasing random rabbit holes that soon it becomes second nature. Soon everyone thinks you are a wizard but it's all just hard work.
If you rewind to what experienced devs who are seen as productive + expert debuggers do their earlier years: most keep going down the rabbit hole... and then making up for it by finishing the work, often by putting in more hours. Or spending time going down the rabbit hole on the side
January 5, 2025 at 2:40 AM
A new blog post about a contribution I made to Wire (github.com/square/wire) recently.

rahulrav.com/blog/mutable...
GitHub - square/wire: gRPC and protocol buffers for Android, Kotlin, Swift and Java.
gRPC and protocol buffers for Android, Kotlin, Swift and Java. - square/wire
github.com
December 28, 2024 at 11:05 PM