Sign in

Rahul Ravikumar

@rahulrav.com
421 followers 148 following 121 posts

Software Engineer at Google working on the Android Toolkit team.

PostsRepliesMedia
Reposted by Rahul Ravikumar
Vinny DaSilva @vinnydasilva.bsky.social · 18/09/2026
👋 Hey Friends! There's so much happening in the XR industry right now! #AndroidDevSummit is SOOO back! And we're gonna have a TON of XR content! 😎OH! Did I mention it's 2 events? 🇺🇸 -> rsvp.withgoogle.com/events/android-dev-summit-bayview 🇬🇧 -> rsvp.withgoogle.com/events/android-dev-summit-london
032
Rahul Ravikumar @rahulrav.com · 07/09/2026
Keynote’s Magic Move is great - until you try animating code. I wrote about building smooth "Magic Move" code animations from first principles using TextMate grammars & Heckel's diff algorithm: rahulrav.com/blog/magic_m...
rahulrav.com
Magic Move for Code Snippets from first principles
060
Rahul Ravikumar @rahulrav.com · 14/08/2026
Passkeys have big problems: 1. Made the mistake of coupling passkey storage with the platform. I should be able to use 1Password but it rarely works. Even Walmart gets this wrong. 2. Lack of a reset flow. Can't log into my HSA account anymore. Always greeted with an NPE server side. 😭
210
Reposted by Rahul Ravikumar
Aurimas Liutikas @liutikas.net · 13/08/2026
``` Upon reflection, I've come to believe that quality software is not about how many features something has or how quickly it is built but rather how cared for it is by the designers, developers, and product people who work on it. ``` This rings very true brettcodes.com/im-done-using-ai
brettcodes.com
I'm done using AI
Why I'm stopping using AI for coding (and anything else) after using it earnestly for a year and coming to understand the harms it causes on personal, societal, and environmental levels.
5447
Rahul Ravikumar @rahulrav.com · 02/08/2026
I built Warp — an open-source implementation of morph transitions (magic move in Keynote) for code blocks from the ground up! github.com/tikurahul/warp Lots of interesting algorithms along the way.
150
Rahul Ravikumar @rahulrav.com · 29/07/2026
What a great podcast episode !
040
Reposted by Rahul Ravikumar
Romain Guy @romainguy.dev · 21/07/2026
I published vibrance-0.1.0 on Maven, now with support for Compose for Desktop (JVM). The APIs let you mix colors yourself, or draw gradients as modifiers or Compose brushes. Next steps: refine the model training to improve some color transitions, better alpha support. github.com/romainguy/vi...
24110
Rahul Ravikumar @rahulrav.com · 20/07/2026
I have always wanted to better understand how frameworks like PyTorch do back propagation for gradient descent. I finally wrote my own implementation for a scalar valued type that can compute gradients from the ground up. Its ~130 lines of Kotlin. Remarkably capable now ! github.com/tikurahul/by...
github.com
GitHub - tikurahul/bytegrad: An implementation of the scalar valued type in Kotlin, that can support gradient descent based on micrograd
An implementation of the scalar valued type in Kotlin, that can support gradient descent based on micrograd - tikurahul/bytegrad
170
Rahul Ravikumar @rahulrav.com · 15/07/2026
androidx.tracing 2.0.0 is now beta01. Updated documentation is at: developer.android.com/topic/perfor... Release notes is: developer.android.com/jetpack/andr... Happy tracing !
developer.android.com
In-process tracing  |  App quality  |  Android Developers
Capture in-process trace events and manage context propagation for Kotlin coroutines using the low-overhead androidx.tracing library.
062
Rahul Ravikumar @rahulrav.com · 11/07/2026
From 18 WPM to 100 WPM 💥 It took 51+ hours of practice, transitioning to a split layout, and a lot of patience, but I finally found my mechanical keyboard "end game" with the @keyboard.io Model 100. Read about the journey, and the stats at rahulrav.com/blog/keyboar...
keyboard.io
Keyboardio: keyboards for people who love typing
Keyboardio makes the best looking, most comfortable ergonomic keyboards. We also sell switches and keycaps.
050
Rahul Ravikumar @rahulrav.com · 06/07/2026
Signed up for Deep Learning coursework; and as I am reading some recommended papers - I swear adjacent to a mathematical construct I think i know, is a rabbit hole that until now never existed. Oh, you want an integral on this marginal distribution; surely you must have heard of error functions. 😭
010
Rahul Ravikumar @rahulrav.com · 04/07/2026
Sometimes what you need is a hybrid of an ArrayList and a LinkedList. (When your API allows adding things into a list like structure - think contextual data). BlockLinkedList that does exactly. Uses ART instrinsics for a fast reset and object pooling to minimize GC overhead.
github.com
120
Reposted by Rahul Ravikumar
Lalit Maganti @lalitm.com · 03/07/2026
Wrote up a blog post going over the "why" in each of the features in Perfetto v57. This is something I plan on doing for each release going forward (including dedicated posts when a feature is big enough to deserve it!) Find it at lalitm.com/post/perfett...
lalitm.com
Perfetto v57: fixing PyTorch traces, plus journald logs and an AI skill
We just released Perfetto v57 and I wanted to share the new things I’m most excited about. This is something I wanted to do for past releases but I just never quite got round to it. It’s also somethin...
031
Rahul Ravikumar @rahulrav.com · 02/07/2026
Installed Cauchy OS a few months ago on my Framework 16 and I must say, arch has been extremely delightful to use. Extremely grateful that I don't have to use Windows or macOS. It's really the year of Linux on the desktop!
130
Reposted by Rahul Ravikumar
Zac Sweers @zacsweers.dev · 24/06/2026
Coming in Metro 1.3.0! Was awesome working with Rahul on this
0163
Rahul Ravikumar @rahulrav.com · 24/06/2026
I collaborated with @zacsweers.dev (who did most of the heavy lifting) to add automatic tracing for Graph bindings generated by Metro. If you are using DI, then you should be cognizant of it's costs. Metro automatically adds traces for all generated bindings when you enable Runtime tracing.
zacsweers.github.io
Performance - Metro
A multiplatform dependency injection framework for Kotlin
1130
Rahul Ravikumar @rahulrav.com · 21/05/2026
My talk from Android Makers on the new Jetpack Multiplatform Tracing 2.0 library is now on YouTube! 🚀 🇩🇪 PS: I’m at KotlinConf this week! If you’re using the library (or curious about tracing / app performance), please say hi. I’d love to meet you and hear your feedback. youtu.be/d9Ya_YgDLOg
youtu.be
Zero* Cost Observability: A Deep Dive into the Jetpack Multiplatform Tracing Library
YouTube video by Android Makers
092
Rahul Ravikumar @rahulrav.com · 11/05/2026
Tracing 2.0 should go beta01 soon ! android-review.git.corp.google.com/c/platform/f... Keep on tracing!
android-review.git.corp.google.com
Gerrit Code Review
220
Reposted by Rahul Ravikumar
Aurimas Liutikas @liutikas.net · 07/05/2026
Target's journey to a slimmer and a faster Android app tech.target.com/blog/rethink... #android #performance
tech.target.com
252
Reposted by Rahul Ravikumar
Simon Willison @simonwillison.net · 05/04/2026
This is excellent, one of my favorite long-form pieces on agentic engineering - includes several non-obvious ways in which leaning on coding agents can catch you out
920626
Reposted by Rahul Ravikumar
Andrei Shikov @shikasd.bsky.social · 27/03/2026
In the next version of AGP - R8 makes coroutines 2x faster
15614
Rahul Ravikumar @rahulrav.com · 25/03/2026
androidx.tracing 2.0.0-alpha04 is now available. Here is the release notes. Happy tracing ! developer.android.com/jetpack/andr...
developer.android.com
Tracing  |  Jetpack  |  Android Developers
062
Rahul Ravikumar @rahulrav.com · 21/03/2026
If you are a parent always worried about waking someone up while watching TV, this headphone is just incredible 🙂 electronics.sony.com/audio/speake...
electronics.sony.com
020
Rahul Ravikumar @rahulrav.com · 17/03/2026
I will be speaking at Android Makers about the internals of the androidx.tracing library and how benchmark driven development ensures low overhead tracing. If you like tracing, profilers and benchmarks - this talk is for you! androidmakers.droidcon.com/2026/rahul-r...
0123
Reposted by Rahul Ravikumar
Code with the Italians @codewiththeitalians.it · 04/03/2026
Want to actually understand what your app is doing at runtime? In the next episode we explore: ⚡ Android Profiler 🔎 Perfetto 🧵 Tracing 2.0 📱 Performance in Compose With Rahul Ravikumar. Join us live → cwti.link/twitch #AndroidDev #Performance #JetpackCompose
032
Rahul Ravikumar @rahulrav.com · 01/02/2026
PSA: Switch the display server for IntelliJ from X11 to Wayland. Your eyes will thank you. What an incredible difference! It's glorious now ! blog.jetbrains.com/platform/202...
blog.jetbrains.com
Wayland Support Preview In 2024.2 | The JetBrains Platform Blog
We are delighted to announce that, starting with the 2024.2 Early Access Program (EAP), IntelliJ-based IDEs will offer preliminary support for the Wayland display server protocol on Linux, including W
160
Rahul Ravikumar @rahulrav.com · 28/01/2026
The new major version of androidx.tracing is now available on Google Maven. We’ve spent the last year optimizing it, so it's extremely low overhead. The documentation is available at: developer.android.com/topic/perfor... Happy Tracing!
1202
Rahul Ravikumar @rahulrav.com · 26/01/2026
Two blog posts back to back! ✍️ I just published a summary of my decade-long journey at Google. It covers the projects and the growth, but more importantly, a reflection on some of the things I’ve learned along the way. You can read the full post here: rahulrav.com/blog/10_year...
rahulrav.com
10 Years at Google
1110
Rahul Ravikumar @rahulrav.com · 26/01/2026
I broke down how R8 strips away Intrinsics overhead and leverages ART intrinsics to make your apps faster—without you changing a single line of code (starting with AGP 9.0). rahulrav.com/blog/kotlin_...
rahulrav.com
Kotlin Intrinsics on Android
0100
Rahul Ravikumar @rahulrav.com · 22/01/2026
PSA: Starting Android Gradle Plugin 9.0 (or the latest stable version of R8): R8 will automatically optimize all Intrinsics.check* APIs in Kotlin automatically ! This should greatly help improve app performance (especially Compose given the large Kotlin library API surface).
4278
Rahul Ravikumar @rahulrav.com · 02/01/2026
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.
190
Rahul Ravikumar @rahulrav.com · 29/12/2025
Happy UniFi Travel Router day to those who celebrate it 🎉 store.ui.com/us/en/catego...
store.ui.com
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.
030
Rahul Ravikumar @rahulrav.com · 17/12/2025
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 !
2151
Reposted by Rahul Ravikumar
Andrei Shikov @shikasd.bsky.social · 04/12/2025
This release also adds support for Compose stack traces that work with minified apps! (requires R8 and Kotlin 2.3.0+)
1225
Reposted by Rahul Ravikumar
Romain Guy @romainguy.dev · 29/11/2025
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...
37323
Reposted by Rahul Ravikumar
Aurimas Liutikas @liutikas.net · 29/11/2025
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
youtu.be
The Benevolent Gradle Overlord: Keeping Order - Aurimas Liutikas | droidcon London 2025
YouTube video by droidcon & fluttercon
12310
Reposted by Rahul Ravikumar
Márton Braun @zsmb.co · 24/11/2025
Compose Hot Reload is now stable. 🔥
github.com
Release v1.0.0 · JetBrains/compose-hot-reload
Release Summary Compose Hot Reload 1.0.0 is here 🎉. The core technology provides a stable experience, allowing you to quickly iterate on your UIs in Compose Multiplatform apps. We have worked hard ...
0449
Rahul Ravikumar @rahulrav.com · 24/11/2025
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 !!
1174
Reposted by Rahul Ravikumar
Romain Guy @romainguy.dev · 20/11/2025
Obligatory example: www.romainguy.dev/posts/2024/r...
romainguy.dev
Readability of Optimized Kotlin Code
Leland and I were recently discussing how to best implement a new data structure to speed up a specific aspect of Jetpack Compose. He came up with a great idea, and nerd sniped me in the process. The ...
022
Rahul Ravikumar @rahulrav.com · 20/11/2025
R8 is effectively free performance optimizations. A little work for an incredibly high ROI.
160
Reposted by Rahul Ravikumar
Ben Weiss @keyboardsurfer.dev · 17/11/2025
We're just starting a Spotlight Week on Performance. So get yourselves ready for some g-R8 content.
android-developers.googleblog.com
Get your app on the fast track with Android Performance Spotlight Week!
News and insights on the Android platform, developer tools, and events.
0113
Reposted by Rahul Ravikumar
Ian Lake @ianlake.bsky.social · 24/10/2025
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...
developer.android.com
navigation3  |  Jetpack  |  Android Developers
1162
Rahul Ravikumar @rahulrav.com · 22/10/2025
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...
androidx.dev
Plot Benchmarks
2264
Reposted by Rahul Ravikumar
seb @sebastiano.dev · 10/10/2025
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.
"Shaders are awesome" is my lightning talk at Droidcon London 2025, happening on October 30–31st
0122
Rahul Ravikumar @rahulrav.com · 10/10/2025
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.
0123
Rahul Ravikumar @rahulrav.com · 26/09/2025
My ex-Apple colleague used Nano Banana with the prompt: "Restore the person in the photo into the Apple Ecosystem".
060
Rahul Ravikumar @rahulrav.com · 15/08/2025
Happy 79th Birthday 🇮🇳 🎈
010
Reposted by Rahul Ravikumar
Tor Norbye @tornorbye.bsky.social · 14/08/2025
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...
youtube.com
Autofill in Compose
YouTube video by Android Developers
0103
Rahul Ravikumar @rahulrav.com · 02/08/2025
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...
android-review.googlesource.com
Gerrit Code Review
1180
Reposted by Rahul Ravikumar
Saket Narayan @saket.me · 16/02/2025
Okay, I'm never building a calculator app. chadnauseam.com/coding/rando...
chadnauseam.com
calculator-app - Chad Nauseam Home
"A calculator app? Anyone could make that." (this was originally a https://x.com/ChadNauseam/status/1890889465322786878) Not true. A calculator should show you the result of the mathematical expressi…
03811