Writing

Join the

Newsletter

I talk about productivity, engineering management, software engineering, life advice, and other random things that I find interesting. Subscribe to my newsletter to get my latest writing delivered straight to your inbox.

Articles

Long-form pieces on engineering, leadership, and life.

2025

I recently joined my friend Kaushik on the Fragmented Podcast to discuss the future of Android Development.

Mar 7
Life UpdateAndroid

Most decisions at work and in life are made under a temporary set of constraints. We accept the world as it is, optimizing within limits that may not even be real. What if we approached decisions like a toddler—ignoring the rules, focusing on what’s possible, and bending reality to fit our goals?

Feb 18
ThoughtsMental ModelsEngineering Systems

The internet has democratized role models and success stories, enabling "pocket revolutions" where individuals can find inspiration from real people doing extraordinary things

Feb 12
Thoughts

2023

🤔 The padding Modifier and the Spacer composable are both valid ways of adding space to a component. Surely, this must be a mistake. Why else would Jetpack Compose expose two ways of doing the same thing?

Feb 6
UI

2022

🧶 Have you wondered which lint rules ship by default with Compose? Do you even know where you can find this list? Learn this and more in this article!

Jun 24
LintingTooling

⏳ Learn about a simple trick that will save you many engineering hours when working with Jetpack Compose!

May 2
ProductivityAndroid StudioCode Complete

♻️ Learn how you can debug recompositions of your Composable functions in Jetpack Compose

Apr 16
DebuggingRecompositions

2021

🍩 Learn how Jetpack Compose is able to be smart during recompositions!

Sep 8
OptimizationsState Management

Learn how you can use Jetpack Compose to build Android apps. Jetpack Compose is a rewrite of the Android UI toolkit

Jun 8
IntroJetpack Compose

2020

A Library to Organize, Discover, and Visualize Your Jetpack Compose Elements

Dec 21
UI InfrastructureToolingDesign Systems

Dispatch

An Android & Jetpack Compose newsletter read by engineers at all the top companies. Learn more

2026

💌 In today's Context: Understanding when to use IDE agents vs CLI tools vs background agents — and why you'll probably use all three today

Feb 1

💌 In today's Dispatch: 👻 Snapchat has a surprise open-source hit 🔒 Bulletproof @Preview stripping 📖 Instagram's Compose playbook

Jan 27

Announcing Dispatch: Context, a new AI-focused series for Android engineers who refuse to be left behind

Jan 14

2025

💌 In today's Dispatch: What I'm up to after Airbnb? 🤖 Sora Android in 28 days ⚡ More useful Compose stack traces 🧩 Bengaluru Meetup 🍻

Dec 24

💌 In today’s Dispatch: 🧾 Stop GPL surprises with Licensee ⚖️ ⚡ Gradle config speed rule 🤯 Compose effects order puzzle 🧠 AI vs git bisect

Nov 14

💌 In today’s Dispatch: Closing my Airbnb chapter ✨ Swift on Android 🤯 Timezones are complicated ⌛️ Touch me not Composables 👉

Oct 30

💌 In today’s Dispatch: 🔥 We meet the team behind Firebender 🏋🏻 Easiest one-line win of the year 🤏 Composable scoped View Model's and 🌈 performant way to modify background color

Sep 12

💌 In today’s Dispatch: 🛼 2D Scrolling 🎣 Prefetching Lists 🔎 Better Compose Debugging & 🏗️ Architecting Persistent UI Elements

Aug 24

💌 In today’s Dispatch: 💰 Selling Android apps 🛠️ Metro DI takes the crown, 🚨 AndroidView anti‐pattern exposed & 🔐 Telegram’s hash‐coded file bans

Jul 22

💌 In today’s Dispatch: 📸 Screenshot testing pro-tips ✨ Native shadows in Compose, 🤖 Kotlin powering AI SDKs, 📱 Android 16 adaptivity shift & ⚡️ 6× faster transforms

Jun 22

💌 In today's Dispatch: 🗑️ Google Play's 47 % app-purge drama, 🛠️ Amazon's shiny new KMP 'App Platform', 🎞️ ADB slow-mo frame-timing captures, 🎨 the theme bug that steals your Column's color, 🤣 'Soft Earnings' and 📊 @Preview-free code-coverage magic.

May 18

In today's issue, we talk about the 💸 strange hiring market and salaries, 💣 latest BOM drop, 📈 sorting UUIDs and obviously...AI 👂

May 6

In today's issue, we talk about 🧐 cheating during interviews, 💸 fully transparent salaries, 🪄 Google's big agentic bet, 🕵🏻‍♂️ committing a Kotlin crime and 🫨 jittery text animations

Apr 19

In today's issue, we talk about 🥶 chilly mobile hiring trends, the best Kotlin speaking LLMs 🗣️, another project in the Google graveyard 🪦, shadcn/ui for Android ✨ and learn how to trust time ⏰

Apr 3

In today's issue, we talk about 🐦‍🔥 Swift on Android, learn some mind-boggling facts about naming variables, discuss my recent chat with Kaushik Gopal, and explore how to provide the entire codebase to an LLM.

Mar 12

In today's issue, we talk to some Android experts about their hot-takes, predictions, wishes, and advice on how they expect the Android ecosystem to change—and how developers should prepare for that future.

Feb 6

🤯 some mind bending facts about SQLite, "Monotone Cubic Hermite Spline" and buttery smooth animations, a game to improve our Compose knowledge and why return types in Kotlin can be interesting 🤨

Jan 18

2024

🔥 JetBrains' project to bring true hot reload to Compose, share a tip to improve screenshot test reliability using a new CompositionLocal, explore situations when onDispose doesn't get called, and bid farewell to Picasso 👨🏻‍🎨

Nov 30

💰 New & creative vesting schedules in tech, an amazing 10 year old engineer, a public service announcement and why onGloballyPositioned is feared

Oct 30

🦃 The Turkey that broke your code, advice from Saket Narayan, some personal wins, and strategy for safeguarding composables

Sep 9

😞 The decline of mobile dev, Storybook like tool from JetBrains, the badass developer of SQLite and meeting Annyce Davis

Aug 6

🔤 Learn about Zach Klippenstein, the Android connection to Wordle, creating presentations using Compose, running Android Studio on Android and @ComposableTarget

Jul 20

💪🏻 Power Asserts, XML in Compose, Compose UI previews on web & Airbnb's new screen architecture

Jun 26

🛜 "Server" Composabes, new graphicsLayer API, first-party visibility tracking, and debouncing state updates

Jun 3

🍨 Inside scoop from Google I/O, interesting updates from the event & a tip to using Gemini in Android Studio without compromising sensitive IP

May 20

🚀 Code structure optimizations, Android memes, New Shared Element Transition APIs, Debugging Compose State & More!

May 9