Sign in

Saket Narayan

@saket.me
1.4K followers 299 following 341 posts

Android @ Square • he/him 🌎 saket.me 📍 Seattle

PostsRepliesMedia
Saket Narayan @saket.me · 13/08/2026
LFG
090
Saket Narayan @saket.me · 10/08/2026
It is mildly interesting that the creator of apilevels.com is not even an Android developer.
apilevels.com
Android API Levels
A quick reference table of Android versions with SDK & API levels, version codes, codenames, cumulative usage, and more.
151
Saket Narayan @saket.me · 30/07/2026
that's because i'm the opening act
010
Saket Narayan @saket.me · 29/07/2026
In good company. Thank you @androiddevs.bsky.social 💚! android-developers.googleblog.com/2026/07/five...
1191
Saket Narayan @saket.me · 29/07/2026
I have many reasons, but the real reason is that I've found a shinier app idea lol.
110
Saket Narayan @saket.me · 29/07/2026
Nice! I wonder what the gains would be like at Square considering our project has thousands of modules.
100
Saket Narayan @saket.me · 28/07/2026
I started building the app because I found myself watching a movie every now and then on my phone during travel. The app is in good shape, I use it often, but not in great shape for a public release. 😅
100
Saket Narayan @saket.me · 25/07/2026
so true. this month was a media organizer for movies and tv shows stored on my device.
120
Saket Narayan @saket.me · 25/07/2026
😅 jakewharton.com/playing-in-t...
jakewharton.com
Playing in the Treehouse with Redwood and Zipline – Jake Wharton
Redwood is Cash App's multiplatform Compose library which targets the native UI toolkit of each platform while still sharing presentation logic. This means our app's existing Android views and iOS UIV...
000
Saket Narayan @saket.me · 25/07/2026
AI has made me so productive. I'm now abandoning a new side project every month instead of one a year.
323420
Saket Narayan @saket.me · 12/07/2026
Outline looks so much better than Notion
010
Saket Narayan @saket.me · 10/07/2026
For Linear, I can still see myself using their workflow of filing a ticket and then asking its agent to do a first pass. I wasn't expecting a document editor to go after Linear/Jira 😅
020
Saket Narayan @saket.me · 10/07/2026
Good point. Eventually you have to take a step back and realize the app doesn't need any more features.
140
Saket Narayan @saket.me · 10/07/2026
Block moved all its documents to Notion two years ago. Huge upgrade over Confluence, but a lot of us still don't love it because it keeps trying to be an operating system instead of just... being a good document editor. www.notion.com/product/ship...
notion.com
Notion | The agent-native way to ship software.
From feedback to launch - all inside Notion. Agents handle the coordination. Your team handles the judgment.
450
Saket Narayan @saket.me · 23/06/2026
i made a meme
150
Saket Narayan @saket.me · 25/05/2026
Introducing Touch Robot, something that has materially changed how I write screenshot tests. We've been using it at Block for ~2 years to catch animation and gesture bugs that static screenshots miss. saket.me/touch-robot/
saket.me
Introducing Touch Robot, for writing interactive screenshot tests in Compose UI
The best parts of a UI are usually in motion. The bugs are too.
1205
Saket Narayan @saket.me · 16/05/2026
Are you building a read it later app?
100
Saket Narayan @saket.me · 09/05/2026
The new Snapseed update is quite nice 🤌 play.google.com/store/apps/d...
150
Saket Narayan @saket.me · 27/04/2026
Using an on-hover animation for showcasing large screen support is so satisfying. Credits: www.aviate.to
080
Saket Narayan @saket.me · 21/04/2026
That... is indeed an interesting setup. What made you go all manual?
110
Saket Narayan @saket.me · 20/04/2026
Oh shit this is neat. Makes it so easy to type new todos.
110
Saket Narayan @saket.me · 20/04/2026
I'm trying out TickTick and Todoist, thanks everyone!
450
Saket Narayan @saket.me · 19/04/2026
Google Keep's recent update offloaded reminders to Google Tasks, and it's been such a massive downgrade because they constantly go out of sync. I loved Keep, but I'll have to switch. What are people using these days to manage their todos?
750
Saket Narayan @saket.me · 03/04/2026
You're writing Ruby these days? 😄
010
Saket Narayan @saket.me · 03/04/2026
Oh nice, could you share a link?
100
Saket Narayan @saket.me · 02/04/2026
I built a tiny IntelliJ IDEA plugin for something that had been bothering me for years github.com/saket/intell...
5289
Saket Narayan @saket.me · 02/04/2026
💚
000
Saket Narayan @saket.me · 02/04/2026
After 2.5y of development, github.com/saket/teleph... is nearing ~600 screenshot tests that verify all possible combinations of usages. It's one of the most thoroughly tested UI libraries you'll find for Android. Shout out to my friends at emulator.wtf without whom this wasn't possible!
1163
Saket Narayan @saket.me · 01/04/2026
I get that Google optimized for customizable OEM skins, but I wish they didn't look so bad. I almost always disable device skins -- the emulator looks better without them.
180
Saket Narayan @saket.me · 01/04/2026
It's interesting how clearly Google vs Apple shows up in something as small as virtual devices frames. iOS simulator: sharp, natively rendered Android emulator: transparent PNG, rough corners with jagged edges
1103
Saket Narayan @saket.me · 12/03/2026
TIL about android's "time to take action" accessibility setting
020
Reposted by Saket Narayan
Matt McKenna @mmckenna.me · 09/03/2026
Today I’m open-sourcing Dejavu! Testing UI performance in Jetpack Compose is frustrating. We profile and watch tools, yet regressions still creep in. I built Dejavu to make recomposition behavior something you can actually test.
A screenshot of code that reads:

// Create a Recomposition Tracking Rule
@get:Rule
val composeTestRule = createRecompositionTrackingRule()

@Test
fun incrementCounter_onlyValueRecomposes() {
  // Perform an action
  composeTestRule.onNodeWithTag("inc_button")
    .performClick()

  // Assert that Composables change like you expect
  composeTestRule.onNodeWithTag("counter_value")
    .assertRecompositions(exactly = 1)

  // Or assert that they remain stable
  composeTestRule.onNodeWithTag("counter_title")
    .assertStable() // asserts recompositions = 0
}
74011
Saket Narayan @saket.me · 09/03/2026
I like it. It's like turbine, but for compose ui!
130
Saket Narayan @saket.me · 09/03/2026
The answer was no, so I'm building this myself as v2 of github.com/saket/swipe. Here's a first draft:
0171
Saket Narayan @saket.me · 08/03/2026
This is useful, thank you!
000
Saket Narayan @saket.me · 07/03/2026
Did Google ever release this swipe component as part of Material Design?
100
Reposted by Saket Narayan
Pablo Baxter @pablobaxter.com · 02/03/2026
Please don't boycott OSS... Follow the authors, maintainers, and contributors to them, as many of them will continue to support their projects regardless of the company they go to. Also, if you can, sponsor these individuals too! Many of them have links for sponsorship on their Github profiles.
071
Reposted by Saket Narayan
P-Y @p-y.wtf · 02/03/2026
What happens to Square / Block Android OSS projects post layoffs? Let's start with some context OSS at Square is mostly a happy accident. Jack hired Bob, who's job was attracking world class engineers, and he did that through talks & OSS.
28123
Saket Narayan @saket.me · 28/02/2026
😞
020
Saket Narayan @saket.me · 28/02/2026
You'll be so dearly missed Chris! Sucks that this is happening.
020
Saket Narayan @saket.me · 27/02/2026
I'm still here, but I can't tell if that's good or bad. 😔
190
Saket Narayan @saket.me · 27/02/2026
Most of you have heard about Block's 40% layoffs by now, but the numbers are even worse. Engineering was hit harder, we've lost close to 70% of our engineers. Our leadership is plagued by false promises of "intelligence". The company you once knew as a prolific OSS contributor no longer exists.
4545
Saket Narayan @saket.me · 25/02/2026
CSS-inspired media queries in Compose UI 👀 android-review.googlesource.com/c/platform/f...
032
Saket Narayan @saket.me · 23/02/2026
Sounds like a great idea. Do you have a video of what this looks like in action?
130
Saket Narayan @saket.me · 04/02/2026
I think I like it. If anyone else is looking for the setting: Preferences → Editor → Appearance → Use smooth caret movement.
120
Saket Narayan @saket.me · 27/01/2026
Looks like Compose UI is finally addressing a long-standing issue on Android where the experience of scrolling nested lists hasn't felt as good as on iOS. issuetracker.google.com/issues/26962...
0131
Saket Narayan @saket.me · 22/01/2026
🙌
000
Saket Narayan @saket.me · 22/01/2026
After six beautiful years in Kitchener-Waterloo, we are moving to Seattle. Grateful for the people and memories that made this place home. Hoping it feels like home too.
3200
Saket Narayan @saket.me · 01/01/2026
They look great! How did you create them?
100